471 karma · joined May 17, 2017
Though, the concept of React Hooks changes everything. Functional components coupled with JSX and styledcomponents give you superior composability and encapsulation, imho. When I'm programming in Angular, I notice the familiary, it's like I'm using Spring but on the frontend, while in principle I like the rule of least power, I can say that the declarative nature of React is game changing. Look at the ecosystems that are being developed now with Hooks, like Tanstack, react-hook-form, etc. People are literally creating their own SwiftUIs and Jetcomposers in JavaScript (TypeScript).
I know that Borg was written in Java and Kubernetes in Go. Though the latter had a reputation in the beginning as a systems programming language, its purpose was actually to build large-scale cloud infrastructure projects with it and it proved formidably well suited for the task. It compiles fast, anyone can read it, good tooling and it is efficient for the layer on which it is meant to be deployed. Go, as Java is one of the most productive languages in use today, judging by the ecosystems they have spawned.
I strongly disagree. In my organisation engineers have higher salaries than "people persons" like managers, product owners etc. Maybe it is something Eastern Europe (Romania) does better. In my country, people become managers when they don't know what to do in life, when they have not mastered any skill in 12 years of mandatory education + higher education. People who can't code at the end of the CS curriculum have three choices basically: HR, PMO or do a Master in a totally unrelated field to increase your employability. Do you really see yourself the "acting" leader, answering to phone calls all day like a secretary and asking people about the status of their tickets? I hope not. A "people person" is easily replaceable, a good engineer is not. When the financial crisis comes and the line is drawn, engineering skills remain. That is not to say that soft skills do not matter, quite the opposite, just don't make it a day job, you will become vulnerable.
* Centralized governing system
* Production excess, we continued to produce even if we didn't have any buyers and the quality was pretty bad (today you have Wish or Aliexpress through which you can sell literally anything, even people from my family are ordering crazy stuff from China that has no use at all, so China has the upper hand, we just didn't have that technology back then)
* Lack of political diversity
* No indicators of survivability, China is yet to go through a major crisis (Black Swan) to see how it handles it, the pandemic is not a Black Swan
* Impedance mismatch between communism, atheism promoted by Marxism vs. Christianity that promotes individual thinking, Eatern cultures generally are more collectivistic, so again, China has the upper hand
* Socialist countries are ticking time bombs, they implode when you don't expect them to happen, usually the trigger is local. Nobody thought that Soviet Union would collapse out of nowhere, I still remember reading articles coming from socialists in German and American newspapers lauding the policies adoped by Soviets and how they will get ahead of them. On 15th December 1989 nobody in Romania would have thought that the next day a bloody revolution will start out of a small Hungarian minority in the city of Timisoara. Localism! Everything from China comes from the top level, filtered and censored, we may never know what happens locally and it will be a surprise for us when that happens.
* An educated population is hard to control, the only thing that communism does great is offering education for the masses and opportunities, the moment it will hit a certain threshold, people will just want more and everything will end violently. As Wikipedia puts it:
"The events that demolished the Iron Curtain started with peaceful opposition in Poland, and continued into Hungary, East Germany, Bulgaria, and Czechoslovakia. Romania became the only communist state in Europe to overthrow its government with violence." [1]
> Why is that? I think it says more about us in the west.
I can agree with you. Because of our experience, it is easy for us to swap China with "Western Communism" and think that it will have the same faith without taking other factors into consideration. The West has problems and the pandemic revealed them, blaming China for the Corona problems is stupid, we should blame our overlyoptimized, overlyindividualistic nature. When Italy was "burning" at the beginning of the pandemic, all European states were reluctant to aid and all the press in Europe was finger pointing them in a disgraced way, typically European. I remember states that I've believed to be "team-players" like Sweden notifying all other European memebers that they will do it their own way. The same happened with my country, they were so late to react to the advice of WHO and EU, so late that the local municipalities started to take the matter into their own hands they practically blocked the access to the cities.
Please, use the library, not games or popular entertainment (documentaries, your avearage YouTube history video, etc).
I don't know if Lisp, the language, influenced Java and Scala so much, it was more about its runtime, the garbage collector, etc. The only thing that I liked about Lisp is the composabiltiy, and coupled with objects from Simula created my favorite industrial languages, Java and TypeScript. I'm passionate about parsers, compilers and transformers and this is why I have a fost spot for SML, OCaml. I simply dislike Lisp, interesting language but not for me.
* Doesn't have macros, which in my 16 years of experience is a plus, macros pollute, should at most be an implementation detail
* Has types
* Doesn't have parantheses and the annoying prefix notation
* Your knowledge of SML can be translated easily to OCaml, Java, Scala, which are more or less part of the same family
SML over Rust:
* I don't have to reason about lifetimes, I'm not in a constrained environment
* TCO (tail call optimization)
* At its core, Rust is still an imperative language, it was influenced by ML but not that much as many believe
SML over Scala:
* It doesn't suffer of Haskellism and Extreme Bipolarity (oop/fp) and gets the job done.