Live data from Hacker News

Trying new programming languages helped me grow as a software engineer

cichocinski.dev

81–90 of 192 posts

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

#81
It's happening in the industry too.

My job involves using multiple languages, our small team own packages that include java, kotlin, ruby, python, typescript. Everyone is expected to write in any language as needed.

We also conduct interview in any language a candidate would like to use.

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

#82

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…

It's overrated in a sense that it isn't that much of a chore, learning a new language is easy if you're already good at software engineering.

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

#83

I think the period where I grew the most as a dev was an interlude when I knew I was changing jobs, including moving countries. From having built trading systems in c++, I ended up building, over about a year or so: - A django (python / js) website. It integrated with both Android (java) and iOS (objective-C) apps that could read QR codes and ask the server stuff. It also made me interact with the app stores for the…

The constraints are such a pain at first for iOS! Then you get used to it and become a guru :D Happy you've had opportunity to try out a vast ecosystem.

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

#84

Earlier quoted context omitted.

The problem being, cargocults tend to hold the power. So yes, learn new concepts, practice them and more, but don't be surprised if in practice you can barely utilize them thanks to cargocults insisting they are wrong. We see this in C#. Has a ridiculous amount of features outside default OOP and continues to get more baseline, even has great interop with several other languages. But culture changes very, very slowly…

The reason why I’m not adopting C# is because I’m never going to be a windows user.

I've been coding .NET on linux fulltime for multiple years now.

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

#85

Earlier quoted context omitted.

The problem being, cargocults tend to hold the power. So yes, learn new concepts, practice them and more, but don't be surprised if in practice you can barely utilize them thanks to cargocults insisting they are wrong. We see this in C#. Has a ridiculous amount of features outside default OOP and continues to get more baseline, even has great interop with several other languages. But culture changes very, very slowly…

The reason why I’m not adopting C# is because I’m never going to be a windows user.

.net core is not Windows only - works on the big three (linux mac windows).

That said, I get where you are coming from - .net framework is pretty much just windows, and there a large number of libraries/apps that are Windows first, other platforms second.

If you do end up needing to do Windows dev, though, I'd recommend it, same as if I were doing Apple Dev I'd recommend Objective C/Swift, or recommend you brush up on bash/zsh/fish, C and maybe Xorg/Systemd for linux.

You can use other languages on all these platforms but the 'native' toolkit tends to enjoy better interop and have better support.

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

#86
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…

I find the java example different to my experience. java doesn't have all expressions return values, like if, making the attempt to have single returns from functions much harder to do tidily than in other languages like for example ruby, rust, scala.

You can program just about any darned way in Java which can lead to some pretty schizophrenic code bases and organizations. I recall a fairly recent code review where the author had a static method in a class which took in another type, did some reasoning on the state of the type and returned a result. I asked why that method was not in the type itself since all the state required to answer the question lived in the instance of that object. The author said, oh we tend not to use “smart” objects.

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

#88

Earlier quoted context omitted.

The problem being, cargocults tend to hold the power. So yes, learn new concepts, practice them and more, but don't be surprised if in practice you can barely utilize them thanks to cargocults insisting they are wrong. We see this in C#. Has a ridiculous amount of features outside default OOP and continues to get more baseline, even has great interop with several other languages. But culture changes very, very slowly…

The reason why I’m not adopting C# is because I’m never going to be a windows user.

And this is the problem OP is talking about. Outdated thinking from a 15 years ago is how cargo cults hold onto all the power.

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

#89
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…

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…

I am using Java occasionally, there isn't any special learning curve if you know basic syntax. Same as in Python you don't start with Jdango and virtual environments, you shouldn't start using Java with Spring Boot/Spring.

Google library you need "java http client"

https://openjdk.org/groups/net/httpclient/intro.html - it doesn't look complicated.

First example is using "reactive-streams", you don't have to use that syntax if you aren't familiar (same as in Python there are new features, which beginners may learn later), other examples strait forward.

If library you need doesn't exist in standard library, download jar, add it your `classpath` and use.

Skip any tutorials which are using Spring (unless you want to learn Spring). If you want to write more advanced Java code, learn about [Maven](https://maven.apache.org/)

Same thing about JavaEE/JavaSE, if you google about it, you will find that you may use any, there are different libraries included in installation, it doesn't mean you can't add them later.

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

#90

Earlier quoted context omitted.

The problem being, cargocults tend to hold the power. So yes, learn new concepts, practice them and more, but don't be surprised if in practice you can barely utilize them thanks to cargocults insisting they are wrong. We see this in C#. Has a ridiculous amount of features outside default OOP and continues to get more baseline, even has great interop with several other languages. But culture changes very, very slowly…

The reason why I’m not adopting C# is because I’m never going to be a windows user.

This comment is about 7 years out of date.
Post reply on HN