Live data from Hacker News

Trying new programming languages helped me grow as a software engineer

cichocinski.dev

91–100 of 192 posts

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

#91

Earlier quoted context omitted.

I think this is my first post on HN, but have been a long time lurker. That aside. Your point around ecosystems is interesting to me. As a wannabee coder I'm always trying new things. Most of my code was in PowerShell although I did do a bit of C++ and Delphi in school. I have been dabbling with dotnet core (C#) and Python the last couple of years. I tried to get into Java a bit, but to be frank the learning curve to…

You sound like you'd enjoy TypeScript with NodeJS. Low learning curve. Highly productive. Massively versatile ecosystem. You can be functional or OO. And of course, the type system, which will feel similar to C#. It's very fast and obviously JS being the language of the web is a natural benefit too.

This is the way. Being able to make a website, PWA, cross-platform desktop app with Tauri, mobile app with RN / Quasar / Svelte Native / Cordova, or a standalone cross-platform executable with Deno is invaluable. Edge functions / cloudflare workers / Deno deploy, or even embedded js runtimes are all first class. As a typescript dev I feel like I can do almost anything, and UI is cake with Svelte and the other great web ui frameworks around JS. Not to mention the incredible ecosystem and the top-tier DX with PNPM and Vite. I feel spoiled when the possibilities are limitless and the tooling / ecosystem has it all!

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

#93
post #33

I value learning new languages, especially as I have yet to find a very good one. Some are pure and beautiful like Scheme, but if you asked me what single language I would take to a lonely island with me where I was stranded, it would still have to be C. To those here who would like to have some guidance diving into other languages I can recommend these two books: Bruce Tate: Seven Languages in Seven Weeks https://ww…

The first book is my all-time favorite programming book. I was disappointed by the second one, though. It didn't hold the same charm and wonder as the original.

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

#94
post #52

Different languages also have their own culture and ecosystem, which are also valuable to learn in order to get a different perspective. Some things that are taken as best practices are bad practices in other langauges and vice versa. For example, lots of Java devs are against early and multiple returns to the point of absurdity, while in functional languages this is idiomatic and no problem at all. Using different l…

"For example, lots of Java devs are against early and multiple returns to the point of absurdity, while in functional languages this is idiomatic and no problem at all."

Which functional language are you talking about? Of the two functional languages I know, Elm can only have a single return statement. Scala encourages a single return.

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

#95
post #40

Earlier quoted context omitted.

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

> That's because you've been learning languages that are similar. The algol family of languages with OOP. What makes you so confident of that? I took a look at eric4smith's website. His current language of choice is Elixir, which is not in fact a member of "the Algol family of languages with OOP".

That's one language. He said he learned 9. I'm betting out of the nine of those most of them are from the algol family and involve OOP. Yeah it's an assumption. My confidence is based on the fact that most languages are from the algol family and are OOP.

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

#96

It's also really, really fun to use a language that's completely different than what you're used to. I've learned Elixir, Scala, F#, and Common Lisp on the side in the past year or so. I like Elixir and CL to the point where they're typically my go-to for personal projects. I liked Scala and F# a lot but I don't reach for them so often; it'd be nice to work with them. The worst part about learning (and liking!) new l…

> IMO, while Go is nice from a minimalism and resource utilization standpoint, it's simply not fun to write after using much more expressive languages.

It's definitely a blessing and a curse. What I think I'd say about Go is that it's a simple "day 1" language and a complicated "day 2" language. Speaking strictly from an expressivity and language semantics standpoint, as its runtime and standard toolset are simply great, it's just filled with so many head scratchers when you dig into what's going on and why.

Like the go modules import compatibility rules forcing you to create new vX versions of modules. It's not that it's unsound, it's just unlike everything else out there, and so you can't take your knowledge from other packages managers and apply them to Go. Maybe that expands the mind a bit, but in my experience it just confuses teams and forces them to sometimes go back and revert a major version bump because it's easier to just do that.

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

#97

Earlier quoted context omitted.

Defining the problem is a core part of engineering to me.

Of course understanding the requirements is essential, but the post effectively said the most important aspect of SE is to help the client business. Imagine it's civil engineering, and we're talking about building a bridge. To what extend does a bridge engineer need to understand regional trading patterns, and what bridge location and size would give maximum economic benefit? To me that's a separate discipline to bui…

I don't think you're making the point you think you're making.

You should absolutely understand what the purpose of the bridge is, what sort of things will be transported across it (trains? pipelines? weights? hazardous materials?), what sort of volume it will handle, what are the goals you're looking to solve with the bridge, what are acceptable and unacceptable tradeoffs? where are OK connection points, and where won't work (and how does it tie into the broader regional/municipal transit story)? I could go on...

you give most software engineers a bridge building problem and they'll build the bay bridge when all they needed was a simple suspension bridge for foot traffic.

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

#98

Earlier quoted context omitted.

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

The GP didn't mention any languages, but if you open his profile it says 'Elixir developer'. Maybe a brief bit of research before throwing stones next time?

GP mentioned 9 languages. I'm betting most of those 9 languages are inline with what I said. Yeah it's an assumption, but it's a very likely one.

Second of all, no stones were thrown. I made an educated guess. Don't assume I'm "throwing stones", this is not an attack. Just a statement of my thoughts.

I would say the "throwing stones" comment was waay more accusatory and presumptuous then mine, and would indeed require verification before pointing a finger. But to each his own. Yes... I certainly admit I'm making an assumption about the 9 programming languages he learned.

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

#99
post #54

Earlier quoted context omitted.

What is that good for if you can't use them for anything?

What is that good for in other language if your day job is in C?

You know, there are programmers that don't code only as their job, or don't even have a (programming) job.

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

#100
post #62
post #53

Earlier quoted context omitted.

Pointers. Nearer to the core. In assembly it's all pointers, pointers and pointers. C having better support for pointers makes it nearer to how the processor works, compared to other languages.

> C having better support for pointers make it near to how the processor works, compared to other languages. Java is almost entirely pointers to heap allocations, yet I don't think anyone would argue that Java is close to how the processor works. I also don't think that the C virtual machine is all that close to how machines actually work any more.

C has a virtual machine? Do tell more.
Post reply on HN