Earlier quoted context omitted.
The more languages you learn, the more you realize they have more in common than not. At some point it’s time to stop learning 20+ languages and start building stuff. I never said to stop learning, but be very careful what you spend your time learning. If you can be world class at Python alone, able to solve just about any problem with it, it’s better than 100% knowing many languages. Knowing a language doesn’t mean…
> The more languages you learn, the more you realize they have more in common than not. That happens if you learn many similar languages, which is a waste of time. You have to learn languages in different paradigms to learn new things and discover languages that have nothing in common. > At some point it’s time to stop learning 20+ languages and start building stuff. You can’t learn a language without building stuff.
Learn more programming languages, even if you won't use them
261–270 of 319 posts
Re: Learn more programming languages, even if you won't use them
#262Earlier quoted context omitted.
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…
Re: Learn more programming languages, even if you won't use them
#263Earlier quoted context omitted.
In mathematical code, single letter variables are often the clearest. "Descriptive" names only obfuscate the meaning further, because the meaning is in the math.
I've translated several mathematical papers into code, and I must strongly disagree. The very first thing I do is translate glyphs into names relevant to the domain I'm applying the math to. It makes the rest of the process immensely easier.
yk = C * xk + D * uk
is a lot clearer than
position_at_time_k = output_matrix * state_at_time_k + feedthrough_matrix * input_at_time_k.
The first is an idiom. The second is not.
Re: Learn more programming languages, even if you won't use them
#264Earlier quoted context omitted.
It does happen in two weeks sprints, that is what refinement planning, spike stories and research sprints are all about. And in case you missed, the large majority of companies that actually moved into agile, nowadays are doing what we could call scrum-waterfall. Plenty of bottlenecks and usage patterns are already clear from reading the RFP documents and preparing the respective sales pitch offer. Surely if one code…
So within those two weeks while you are “researching” how are you going to know real usage patterns with real users? Is your research going to perfectly predict where all of the bottlenecks and optimizations need to be in the entire system? Are you going to perfectly predict the size and number of VMs that you need? The size of the database? Where your users are and the average latency? Are none of your developers go…
Performance is a feature, it doesn't get retrofitted. There is only one shot, specially in fixed budget projects.
While a perfect design is an utopia, and there will be surely some unforeseen problems, not designing at all is even worse.
To calculate the initial set of VMs, database size, average users, network latency, you name it, it only requires reading the RFP requirements, having technical meetings with all partners about those requirements, and having a team that knows their stuff around CS.
If it already clear from deployment scenario that at very least 4 VMs will be needed, or that a DB node will need 100 GB on average, it would be very risky just to do on the go.
As for running at scale, that should already be obvious from RFP requirements, unless we are speaking about startups dreaming of being the next FANNG.
MongoDB is a very good example of running at scale without doing the necessary engineering, but they do have a good marketing department to compensate for it.
Re: Learn more programming languages, even if you won't use them
#265Earlier quoted context omitted.
I mean, I basically agree with you, but I like your challenge. What about Rust's borrow checker? I considered it novel, but I'd love to find out it was stolen from somewhere.
Rust’s borrow checker was inspired by clean [1], which applied the same semantics to monads to allow in-place updates [1] https://en.m.wikipedia.org/wiki/Clean_(programming_language)
Re: Learn more programming languages, even if you won't use them
#266Earlier quoted context omitted.
I work for an airline. I known about constraints. If I knew only one language, I never would be at the level I am. Here is the tech stack I deal with daily. VB6 Kix scripts Powershell .net 3.5 Winforms WPF .net 4+ .net core .net asp Java JavaScript React Angular C++ Golang. If programming is a job and not your craft, it will be harder for you. You just have to practice more.
I had to use a jar in a .net program. Do you know how much of a pain in the ass that was?
Re: Learn more programming languages, even if you won't use them
#267Learn more ? I'm actively trying to unlearn a bunch of languages at this point! ofcourse, when I was a wageslave in the bay area, its nice to know python, java, javascript, scala etc. - got me jobs every 2-3 years & put food on table. now that i'm in academia, its completely upside down. literally everybody is way more productive than me in just about any task. The other day I as supposed to program a poisson clock,…
It's perfectly possible to know several languages in-depth. It just takes a lot of time and effort. Moreover, it gets easier with time and practice. Knowing N languages makes learning N+1 language just a bit easier. For me the turning point was around N == 10, since when learning a new language - and yes, in-depth, including idioms, stdlib, some external libraries, maybe some framework (if needed), and also some fact…
Re: Learn more programming languages, even if you won't use them
#268Earlier quoted context omitted.
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…
why would you supoose that C++ is an object-oriented C ? the primary paradigm in C++ is generic programming, not OO.
Re: Learn more programming languages, even if you won't use them
#269At this point I have almost 20 languages that I've used for at least two years, which is what I consider an decent bar for "knowing" a language. The problem I now have is that I don't know if I'll ever be able to master any language anymore. Mmmmaybe C, since I've used that fairly consistently, albeit on-and-off for 25 years. But whenever I get to an "if" or "for" or function declaration, I often have to look at an e…
After lisp I've lost the idea of syntax as of an inherent part of language. You know, all that stuff, that lisp's s-expressions and their memory representation are mapped into each other seamlessly lead to a conclusion that any of them is not important, there is an abstract idea of a lisp object while conrete representations of lisp objects are just some practical ways to deal with them in different situations.
So the official language syntax is a one of the practical ways to represent ideas using that language. The most of languages do not bother to have a second representation, but it doesn't matter. Syntax doesn't matter. You can learn it on a whim in a half an hour of leizure reading.