Live data from Hacker News

Trying new programming languages helped me grow as a software engineer

cichocinski.dev

11–20 of 192 posts

Re: Trying new programming languages helped me grow as a software engineer

#11
post #3

Earlier quoted context omitted.

Different languages provide different features and support these patterns in different ways. I think they’re complementary. Not to mention that learning different languages can be quite valuable for one’s career, as it is another skill one can employ for practical purposes and for distinguishing oneself among peers.

> Different languages provide different features and support these patterns in different ways. I think they’re complementary. I mean, I didn’t learn that much from learning FP that didn’t already know from reading Uncle Bob’s clean code and style guides. In fact I think for awhile it just made me a pretentious clown who wouldn’t stop calling things monads. Furthermore, haven’t most languages today pretty much converg…

> Furthermore, haven’t most languages today pretty much converged around the “imperative++” feature set:

If anything, functional programming has absolutely won.

Support for first-class and higher order functions, anonymous functions and so in are absolute must-haves for any modern language.

These features have become so bread and butter that people will not even think about them as functional programming but these were the main features that functional programming languages pioneered.

Now, PURE functional programming like in Haskell is not mainstream. It is a testament to the success of functional programming that these days we mostly think about these extreme examples when we talk about functional programming.

If anything, it is object oriented features that are becoming optional. At least the class based approach is starting to decline for good with many new languages explicitly not implementing them.

Also, I strongly disagree that all programming languages are starting to converge. It seems you just picked languages that are very similar which I agree, will not expand your mind much.

Learning languages like Common Lisp, APL, Forth, Prolog, Haskell and so on though will will greatly expand your understanding of programming.

Re: Trying new programming languages helped me grow as a software engineer

#13

Wouldn’t it be more useful to your audience (juniors I assume) to say that “learning patterns in software design helped you grow as an engineer?” I mean you call out things like discovering DDD and I’m sure you also came across Data-oriented design as well, Patterns of enterprise architecture, etc. In my experience knowing those patterns provides far more value in one’s toolkit than “knowing” Kotlin, Ruby, Scala, Gol…

It’s two different things.

For instance using more functional language convinced me of the vertus of immutability.

Pattern won’t do that

Re: Trying new programming languages helped me grow as a software engineer

#14
I have used several languages professionally and written personal projects in about a dozen languages. But I'm not sure if it has helped me grow as a software engineer.

I'm mostly saying this because every company I worked for implemented similar antipatterns. It's like the human brain subconsciously leads people to make similar bad decisions regardless of the programming language.

On the other hand, learning different languages makes you more gritty. If you can troubleshoot code in half a dozen languages, chances are you can figure out the 7th.

Re: Trying new programming languages helped me grow as a software engineer

#15
I do believe that learning many programming languages is overrated

Learn concepts, obtain foundational computer science knowledge, write complex projects

not just get familiar with somebody's interpretations that they implemented as a language.

Languages that I used besides my job language barely gave me anything, in most cases they made me appreciate more for sane environment (package managers, IDEs, debuggers, strong standard library)

edit. just to be clear:

I don't see value in learning C#+Java+PHP, but C#+Erlang? yea

I do see value in learning Rust after C

but still - concepts are more important, you don't have to learn langs in order to be familiar with concepts

Learn software engineering - it's broad as hell and you can easily do that using one language

Re: Trying new programming languages helped me grow as a software engineer

#16

When I visit the site, I get TypeError: Cannot read properties of undefined (reading 'reduce') at getTweets (/myapp/build/index.js:898:22) at runMicrotasks ( ) at processTicksAndRejections (node:internal/process/task_queues:96:5) at loader5 (/myapp/build/index.js:991:48) at Object.callRouteLoader (/myapp/node_modules/@remix-run/server runtime/dist/data.js:77:14)

Tbh that’s kinda ironic.

Re: Trying new programming languages helped me grow as a software engineer

#17
I’ve worked deeply with about 9 programming languages.

Not hobby level, but client work level.

They did not really help me to become a better software engineer.

What did?

Being able to understand the business of the customer and create software that helped them do that easier.

That’s why today I tell junior programmers that almost everything we do these days could be accomplished with Bash, text files to hold the data and static html files.

Don’t focus on the language, focus on the business case.

Sure some languages are more efficient than others but all those do is help you build a solution faster. And languages are similar for the most part - so that helps you learn new languages faster.

Re: Trying new programming languages helped me grow as a software engineer

#18
I don't know why the comments are so negative. I agree that the fundamentals are important and that you can then learn almost any language, but OP might have a different learning process and getting the hands dirty might be helping him and honestly trying out a new language along with making your fundamentals clear does not hurt anyone.

Re: Trying new programming languages helped me grow as a software engineer

#19

I do believe that learning many programming languages is overrated Learn concepts, obtain foundational computer science knowledge, write complex projects not just get familiar with somebody's interpretations that they implemented as a language. Languages that I used besides my job language barely gave me anything, in most cases they made me appreciate more for sane environment (package managers, IDEs, debuggers, stro…

When I was in undergrad our professor had us learn Java, but also Lisp and Prolog, and that was very valuable to my growth as an aspiring (and now thankfully employed) programmer :)

Re: Trying new programming languages helped me grow as a software engineer

#20

I do believe that learning many programming languages is overrated Learn concepts, obtain foundational computer science knowledge, write complex projects not just get familiar with somebody's interpretations that they implemented as a language. Languages that I used besides my job language barely gave me anything, in most cases they made me appreciate more for sane environment (package managers, IDEs, debuggers, stro…

> Learn concepts, obtain foundational computer science knowledge

Well yeah learning a wide variety of languages is a good way to do that. People write new languages because they want to implement new concepts.

Post reply on HN