Live data from Hacker News

Trying new programming languages helped me grow as a software engineer

cichocinski.dev

21–30 of 192 posts

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

#21

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 :)

Don't get me wrong, I'm not saying that there's no value in programming languages

I'm saying that programming languages aren't they only way to get familiar with concepts

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

#22

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…

+1. I once wrote an article exactly describing this[1]... but I think that learning concepts involves learning different languages because the concepts are not implemented the same way in every language and seeing different implementations helps understanding the nuances and differences a lot.

[1]: https://pilabor.com/blog/2021/05/learn-concepts-not-framewor...

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

#23

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.

>Well yeah learning a wide variety of languages is a good way to do that.

Well, depends what concepts are you talking about.

Computer science is huge as hell, concepts that you may learn from programming languages are just subset.

There's a lot of interesting and hard stuff that does not touch those (I'm not focusing on some domain-specific-languages that nobody know about)

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

#24

Earlier quoted context omitted.

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 :)

Don't get me wrong, I'm not saying that there's no value in programming languages I'm saying that programming languages aren't they only way to get familiar with concepts

I agree, but certain concepts exist strongly at the language level. Like functional programming, Haskell for example: the power of static typechecking along with good type inference, or functional/immutable patterns, or programs as data (IO monad).

Or Prolog and logic-based declarative programming.

Or any GC'd language.

Or a Lisp and its metaprogramming.

I daresay these ideas would be very difficult to see the practical use of, or "impractical" beauty of, without touching the languages.

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

#25

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)

Should be fixed now

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

#26

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…

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

You kinda do. Concepts are often exclusive to languages. And often concepts can't be internalized without practice of that lang.

Your own examples in your edit literally contradict what you say as you chose langs with extremely divergent concepts. C# and Erlang, Rust and C. You missed haskell and lisp.

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

#27

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 dat…

That's because you've been learning languages that are similar. The algol family of languages with OOP.

You need to learn languages outside of this family to see the benefit. But the benefit won't be in your ability to do "business". It will be exclusively improvements in programming unrelated to "business programming"

>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.

Why? Junior programmers are aware of this already. And get this: junior programmers are even aware that everything can be accomplished with assembly language. They are also aware why things aren't done in assembly, typically.

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

#28

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…

How are you supposed to learn concepts like higher-order functions if you only know C, for example?

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

#29

Earlier quoted context omitted.

> 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.

>Well yeah learning a wide variety of languages is a good way to do that. Well, depends what concepts are you talking about. Computer science is huge as hell, concepts that you may learn from programming languages are just subset. There's a lot of interesting and hard stuff that does not touch those (I'm not focusing on some domain-specific-languages that nobody know about)

And god forbid if you want to learn things outside CS, too. Like you know, most people.

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

#30
post #28

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…

How are you supposed to learn concepts like higher-order functions if you only know C, for example?

If mathematicans did it, then why we, computer people wouldnt?
Post reply on HN