Does anybody find that different styles of programming suits their personality better?

I've put a lot of effort into learning Rust. I think it's type system is fantastic. But after trying to make a basic programming language interpreter in it, I found Rust too complex. I kept struggling to express my types correctly, so I spent more time trying to understand the language instead of designing and writing my program.

Now consider Go. It has some overlap in programming domains with Rust. It has almost none of the high level features of Rust baked in e.g. iterators. It's approach to programming is very imperative and procedural like C before it. If you want abstractions you will have to make them yourself. As someone who enjoys understanding the details I appreciate this step by step approach and its comparatively simple language design.

What do you think? Do you think certan programming languages are more suited to different personalities?

  • 4
    Imo the language which you should prefer totally depends upon the task which you are trying to achieve. For example in your task you have lot kf strings to handle a novice programmer would find python lot easy to work with when compared with C or any other language.
  • 4
    @Deadmau5 While I agree, I think it's outside the scope of the question.

    He's asking what languages someone might prefer as the languages themselves, not necessarily as tools for a particular task.

    I do think there might be some correlation between personality type and preferred language type, though this would be very difficult to discern because of environmental factors: many people have only used a few languages, and they may prefer one over the others simply due to familiarity. So while there very well could be a correlation, I doubt we will ever have a large enough sample size to discern it.
  • 1
    @Deadmau5 have you ever had a programming language or domain you really wanted to understand, but could not despite your best efforts?
  • 0
    @Root oh my mistake, couldn't properly understand it. Then i would have to say PYTHON ftw!
  • 2
    you could twist enough words to say "personality"

    i would say the language(s) you prefer reflect your knowledge of how programs/computers work.

    or how lazy you are =p (personality trait)
  • 1
    @smallTalker Ohkay i now get what you're saying. Initially i tried my hands at Vue js and found it very difficult because I've never worked with angular js or any other framework and that was the first framework i got my hands on to. Later on the same day i opened devRant and saw a post that people liked Vue js because of it's simplicity. I was like I'm dumb af 😔
  • 1
    I would say this is pretty darn true for me.

    My first initial take on programming is I want a system that I can build once and deploy easily. So initially that was C++ because it could be built to run on, well, anything. Only problem is it actually kinda sucks at that task.

    So enter Java, a language where I can build web apps and deploy them anywhere with minor changes.

    Still, I want to learn and try my hand at developing on the system level again. So pure C or Go may eventually be something I'll take up learning again.
  • 0
    @starrynights89 systems programming is something that catches my interest too which is why I put so much effort in Rust. But the complexity kills me so it's Go for now. Maybe I will try C if I need to go really low level.
  • 1
    C# I get and work in daily.
    But sit me down with a Java app (C#’s cousin) and I’m lost.

    Also backend work fits me, I don’t get frontend work (XAML, UWP). But I can MVC a Web API in ASP.Net.
  • 3
    I love attention to detail, and I love simplicity and elegance. I also loathe being forced into specific ways of doing things.

    It makes sense that Assembly/C and Ruby are natural choices for me.
  • 2
    @bkwilliams I too work more backend than front end, someday I might be competent enough to be full stack. :)

    Funny enough, I liked C# syntax more than Java but you sacrifice flexibility, and nothing is as flexible from my experience as Java. Hate the Eclipse IDE? Dump it and go to IntelliJ or Netbeans. Hate working in the JavaEE environment? Dump it and go work in Spring/Hibernate. Don't care for Maven source control? Dump it and go to Gradle. The sheer number of libraries you have at your fingertips is just the icing in the cake.

    But it just doesn't have as good a syntax as C# nor the integration level that Microsoft put into it. I don't care what anyone tells me, MVC in C# is very different from MVC in Java Spring/Hibernate and has a much lower learning curve. :)
  • 1
    @Root do you have any of your work in Assembly posted on the Internet where I can view it?
  • 0
    @Root x86 Assembly or AS400?
  • 1
    @bkwilliams Z80 (:

    @smallTalker No. Sadly, I haven't touched it in years.
  • 1
    I also do think that personality plays a big role in choosing a programming language. For myself I like rust. Although it is has a very steep learning curve it is very rewarding and looks really clean to me. On the other side I have tried Go for abiut 2 months and don't really like the sytanx nor the way they do things things in there.

    I think it's like choosing an instrument. In the end your making music but what you choose to play depends on what instrument you like AND what you want to achieve with it.
  • 1
    I find tooling plays a huge part in the languages I enjoy. For example I love C# because it's primary ide (visual studio) and the debugging and profiling tools are second to none. On the other hand I love golang and it's Syntax and ideas but I feel like I'm constantly fighting with the tooling.

    C# has spoiled me like that. It's made me lazy!
  • 0
    @JakeHL tooling is a big part of what makes a language good to me too. But I'm the exact opposite of you. I don't like using big monolithic IDE's like Visual Studio. They end up hiding the building, compiling, and project management tools I want to know about.

    I like Go's tooling. I much prefer a simpler text editor and command line tools.
  • 1
    @JakeHL You can always write your own tooling. I generally do this with whenever I pick up new languages or frameworks with less-than-ideal tools.
Add Comment