Live data from Hacker News

Learn more programming languages, even if you won't use them

thorstenball.com

231–240 of 319 posts

Re: Learn more programming languages, even if you won't use them

#231
post #98

Earlier quoted context omitted.

I thought I was the only one. Also class and method names : is it array.length(), array.len(), array.Length, array.size(), len(array), Len(array).

This is one reason I love PowerShell's design that everything is case insensitive. For casual scripting, it's so nice to not have to care if it's length or Length. At least memory can help me if it's len/length but length/Length is no distinction at all. (Case sensitivity is one of my pet hates, for anti-human UX).

[deleted]

Re: Learn more programming languages, even if you won't use them

#232
I mostly agree with the article but for the reason that I did not see clearly reflected in it. I think knowledge of multiple languages (and technologies in general) is important not from a perspective of trying to be an expert in many things (which I think in general is counterproductive) but because it helps one to be better (and, arguably, much better) within their domain.

Few examples to illustrate my point:

- Having some experience with strongly typed language makes Python developer a better and safer programmer. Compare with Python developer who is not even aware of the weak vs. strong typing issues and all the related gotchas. Well worth the investment.

- Having seen the ease-of-use and power of some data structures (e.g. Python dicts) not natively available in C may suggest to C developer to look for libraries that implement something similar. 10 minutes playing with Python may end up saving countless man-days on a large C project.

- Having even minimal experience with NOSQL DB may suggest to a DB admin that handling unstructured data on their Oracle cluster may not the best way to go.

- Having seen FPGA latencies may suggest to a Java developer not to bother with the software that will be competing on latency.

The list is endless. I guess my main point is: even approximately knowing what's out there helps you make much better decisions, where decisions may be anything from picking the right approach in your area of expertise, or picking up a different tool if you need to, or telling your boss to hire the right person, or even not starting on the task due to lack of right expertise.

Re: Learn more programming languages, even if you won't use them

#233
post #5

I think there's a bit of a threshold with language learning. When you know a handful (or just theo necessary ones for your job), there is probably a bit of tendency to be religious about your "stack". When you know a few more than you need, then you're driven to pick between them for any given thing. Then, you start picking languages you don't know and learning them to do some thing you need done, and so on. I wrote…

I think especially if you're a vertically scaling kind of gal, and you have a fondness for conciseness, parsimony and efficiency; you'll just end up attracted to many language solutions

There's a question I really want to ask HN related to this.

In the compression challenge (how well can you compress this data), the forbidden cheat is to put all of the data inside the "compressor/decompressor" and have the data be a single bit. The way to block that is to mandate that the total size is compressionTool+data size combined so you can't just move the data around.

So is there anything like that for comparing programming languages? If something is "easy" because it's implemented in a large runtime environment you have to ship as well, that's cheating. If it's easy because the language is powerful and well designed, that's not cheating.

If you like "conciseness, parsimony, efficiency", is the entire Python stdlib and the entire R library and a SQL engine and NGINX consise just because you hid all the implementation details in them, and they let you write your "compressed data as as a single bit"?

Re: Learn more programming languages, even if you won't use them

#234

I spent a lot of time learning Haskell early in my career. I doubt I'll ever write an actual program in Haskell. I probably won't write so much as a single line of it that will ever see production. (Thank goodness. Haskell is far from perfect, despite its many zealots.) But learning Haskell has changed the way I write code in any language. It's helped me to write better, more testable, more readable, more maintainabl…

> learning Haskell has changed the way I write code in any language

I think that's the bottom line. The creator of Haskell confirmed and explained: https://youtu.be/iSmkqocn0oQ?t=22

Re: Learn more programming languages, even if you won't use them

#235
post #94

Earlier quoted context omitted.

Spanish and Portuguese seem to be unusually close. Studying one helps me with the other. Portuguese and Japanese on the other hand...

The OP wasn’t talking about Japanese. They were talking about European languages- many of which share a common heritage

Not all of them do, but the ones mentioned were all very similar Romance languages.

Re: Learn more programming languages, even if you won't use them

#236
post #92

I couldn't agree more, but if I could make a recommendation. If you already know a mainstream OO language, you won't get much benefit out of learning another in the same arena. Going from Java to C# you will learn less than going from javascript to ocaml or Java to Haskell. The best thing (for my own learning) I ever decided to do was learn Haskell. I have never been paid to write code in Haskell but it gave me such…

Failing to learn how to program in Haskell made me realize that I had absolutely no understanding of what I was really doing when I was coding and sent me down a deep rabbit hole learning all the computer science concepts I hadn’t ever learned as a self taught programmer.

I had the same experience with lisp, and it's one of the reasons I chose to keep programming (and eventually major in CS) during college.

It's crazy how easy it is to learn how to pattern match well enough that you can build really useful stuff while still not really understanding what you're doing. Human brains are amazing.

Re: Learn more programming languages, even if you won't use them

#237
The author is describing the oft' maligned and perhaps misnamed Sapir-Whorf hypothesis -- or linguistic relativity if one prefers to eschew eponymous hypotheses.

That is language influences (weak version of the theory) or determines (strong) how you think. A perfectly cromulent proposition.

Ineluctably leads to arguments around the relative benefits of deep specialisation versus a T-shaped skill set, which in turn invites bureaucrats to make us all uncomfortable by injecting regrettable phrases like 'generalised specialist' into the vernacular.

Re: Learn more programming languages, even if you won't use them

#238

Earlier quoted context omitted.

Interesting, I feel like I have the opposite issue. Coming from Portuguese, learning Spanish was a breeze and I can usually surprise French speaking people with “hard” words in my basic French sentences — just because I reached out to a Portuguese word and “frenchyfied” it.

I think this dyslexia happens more with non native languages. Like when I was trying to speak german, after just some time in France. My native language is Portuguese

German and Portuguese differ significantly more than French and Portuguese, so that might be affecting your experience…

Re: Learn more programming languages, even if you won't use them

#239

My suggestion is Objective-C. It's just so weird to anyone who's never coded in it, that it will force you out of your comfort zone into new ways of thinking. The NS framework is probably the most well designed stdlib of any language ever, and the whole thing is inspired directly from Smalltalk. Protocol Oriented Programming [0] was also a real revelation for me, and I still apply those concepts anywhere I can. It's…

Objective-C is also the Stackoverflow 2019 Developer Survey's most dreaded language.

This is mostly because Swift exists and this is where app development, Objective-C's main niche, is moving towards. Note the verbiage describing "dreaded":

> Most dreaded means that a high percentage of developers who are currently using these technologies express no interest in continuing to do so.

Re: Learn more programming languages, even if you won't use them

#240
post #163

My suggestion is Objective-C. It's just so weird to anyone who's never coded in it, that it will force you out of your comfort zone into new ways of thinking. The NS framework is probably the most well designed stdlib of any language ever, and the whole thing is inspired directly from Smalltalk. Protocol Oriented Programming [0] was also a real revelation for me, and I still apply those concepts anywhere I can. It's…

Obj-C will always be a dear example to me, because after people praised it so much on HN in contrast with C++, Java I expected it to be something at least a little bit special. When I actually had the chance to use it, I found a mediocre and pretty error-prone language. And then the cherry on top, Apple unceremoniously flushed it down the drain... This taught me to take any programming language recommendations from H…

I'm sad to see that you feel that way about the language; since I had exactly the opposite experience. Objective-C is a beautiful (if syntactically verbose) language, and I prefer it to C++ as an "object-oriented C". I'm actually curious what you tried doing with the language, because

> I found a mediocre and pretty error-prone language.

makes it seem like you didn't get a chance to dive down into the runtime and how the message-passing model works. FYI,

> Apple unceremoniously flushed it down the drain...

this is not true at all. Most of the code that Apple themselves writes is Objective-C.

Post reply on HN