Learn how to really use a relational database, relational data modeling, and SQL. Not knowing of their capabilities may lead you to unnecessarily complicating your tech stack. You can go a really long way with just this domain of expertise. From there, do the same with whatever key-value store interests you (for me, it's Redis). Python isn't known for high performance but when a django web app uses a cache and relati…
I inherited a code base that has major issues stemming from the developers not realizing what postgres can do. It's reliant on Kafka with a bizarrely complex queue system for answering questions from users automatically in a distributed, scalable fashion. It has schema-less messages shooting around referencing database rows and tables with zero certainty that anything will exist when the message arrives. It works, bu…
Ask HN: What Technologies to Learn in 2020?
421–430 of 441 posts
Re: Ask HN: What Technologies to Learn in 2020?
#422Earlier quoted context omitted.
I simply ignored the first line and appreciated the rest of the response because it had good actionable information. I wish I had older mentors in engineering and CS when I was 20-35yrs to tell me their war stories and point me to promising areas of work. This constant outrage at every perceived slight is a recent phenomenon of the Facebook/Twitter decade and it is suffocating.
> This constant outrage at every perceived slight is a recent phenomenon of the Facebook/Twitter decade and it is suffocating. Frankly, the OP said something rude. It's not a "perceived slight". It was unnecessary, offensive, and presumptuous. Why shouldn't they be called out on their behavior? Congratulations on your ability to ignore the first sentence, but that doesn't excuse OP.
#RickyGervais2020
Re: Ask HN: What Technologies to Learn in 2020?
#423Kotlin is my new favorite language. You should give it a try. Fighting syntax noise, clutter, boilerplate and redundant repetitive work is a big chunk of what define a modern language, and at this, Kotlin is probably the best. It will make you more productive AND happier. BTW using new languages that have relatively poor ecosystem (go, rust, swift, elixir) is a far riskier choice than people believe. Having a poor li…
> Kotlin ability to idiomaticaly reuse the multi billions of value JVM ecosystem make this language outclass all others "modern languages This is simply a large overstatement. There are many other modern popular languages on JVM that have unrestricted access to the exactly same ecosystem. To name a few: Scala, Dotty, Clojure, Groovy, Ceylon, Jython, JRuby. > Others are condemned to perpetually reinvent the wheel inst…
Re: Ask HN: What Technologies to Learn in 2020?
#424Earlier quoted context omitted.
Python isn't known for high performance As was said by one of the original Twitter architects, defending the choice of Ruby against people who were saying that it was at the root of all of their performance problems, for any well capitalized company, the language rarely makes a difference. A stateless web server is a “embarrassingly parallelizable”. The speed or lack there of your runtime is usually not a make or bre…
That's all fine if you stay stateless. Once a well-meaning developer introduces local application state into your web app or adds a feature that locks your database, your web server is no longer "embarrassingly parallelizable". This doesn't even start to handle issues you get when you use a single-threaded langugage that cannot handle multitasking well. Sidekiq makes money purely because Ruby is single threaded, and…
What happens if you have a bug in a task and it takes a week for your development team to develop a fix? Does that Erlang task live in memory all that time? That's the point of Sidekiq's retry subsystem and persistence in Redis.
Ruby is multi-threaded. My customers buy my commercial versions because they want the more complex features and support.
Re: Ask HN: What Technologies to Learn in 2020?
#425Sorry if offensive or presumptuous, I assume you are max. 30 years old? Being a freelancer the last 5 years (previously doing webdev part-time for 15 years) and having a couple of long-term side projects, I've been "burnt" enough that I've gotten tired of chasing shiny tech, just for it to become abandoned (e.g. bower, grunt, AngularJS) or introduce big breaking changes (e.g. some upgrade paths in PHP's Laravel or Sy…
> Sorry if offensive or presumptuous, I assume you are max. 30 years old? This line added absolutely no value to your comment (try reading your comment without the opening line and tell me it's any different) and resulted in a lot of distraction from the rest of the conversation. It's curious to me that you decided to include it even though, as indicated by the disclaimer you provide at the beginning, you knew its po…
Re: Ask HN: What Technologies to Learn in 2020?
#426Sorry if offensive or presumptuous, I assume you are max. 30 years old? Being a freelancer the last 5 years (previously doing webdev part-time for 15 years) and having a couple of long-term side projects, I've been "burnt" enough that I've gotten tired of chasing shiny tech, just for it to become abandoned (e.g. bower, grunt, AngularJS) or introduce big breaking changes (e.g. some upgrade paths in PHP's Laravel or Sy…
What a condescending response. Yes, this person is a student. No reason to act like this.
Re: Ask HN: What Technologies to Learn in 2020?
#427Earlier quoted context omitted.
Any good resources you’ve found?
John Cleese videos, esp. "Creativity in Management" on YouTube "The Creative Habit" "Creativity: Flow and the Psychology of Discovery and Invention" If you really take it to heart, though, the Cleese video is all you need. Creativity in my mind falls into the category of "simple but not easy": you only have to do a few things, but they require hard work and thought. 1. Create time and space. Easier said than done if…
Re: Ask HN: What Technologies to Learn in 2020?
#428Learn how to really use a relational database, relational data modeling, and SQL. Not knowing of their capabilities may lead you to unnecessarily complicating your tech stack. You can go a really long way with just this domain of expertise. From there, do the same with whatever key-value store interests you (for me, it's Redis). Python isn't known for high performance but when a django web app uses a cache and relati…
Re: Ask HN: What Technologies to Learn in 2020?
#429Re: Ask HN: What Technologies to Learn in 2020?
#430Earlier quoted context omitted.
I don't know about 50 years. I have a feeling the Von Neumann architecture (including SMP variant) will be superceded by then even in the mainstream, and the idea of a "sequence of machine instructions" will seem rather old-school.
It's entirely possible, and I certainly hope so. But it hasn't happened yet. The history so far suggests that better technology will generally be ignored unless there's a clear way to make money from it now , which tends to favor incremental improvements and makes early mistakes impossible to ever correct.
We are seeing innovations in GPUs and now TPUs/IPUs (AI coprocessors) that deviate significantly from classic instruction stream based architecture, and understanding how to coordinate the parallel dataflow and computation is what it's all about.
That seems to be where all the high performance stuff is trending, and there's a lot of money in it because of the level of interest in current-generation AI/ML and its many applications.
Programming those devices is kind of clunky at the moment, and 50 years is a long time during which I'd expect significant advances in tooling, backed by all that money.
Then you have all sorts of changes going on in software architecture, such as mostly-declarative, mostly-functional, and reactive sorts of programs (or systems - serverless, microservices, pub/sub backend architectures, etc), and large distributed systems where it becomes increasingly necessary to combine "classic" coding techniques with transaction-carrying logic to keep it reliable.
I think between the drive for new architectures to support high-performance computation, especially with complex, non-linear memory workloads, and the amount of resources going into making them more usable, the newer types of processors will become increasingly versatile, and we'll find ourselves shifting more and more "conventional" workloads onto them just because the capacity is there and the "external" distributed systems problems we see at data centre scale just happen to be similar to the "internal distributed" systems problems being solved by technical means inside the large new devices. Which can, incidentally, talk to each other to make larger versions of the same devices with similar logic guarantees.