побежал, побежал, побежал
Oct. 11th, 2019 08:14 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Все побежали, и я побежал.
First language: Algol-60
Had difficulties: Prolog
Most used: Scala
Totally hate: PHP
Most loved: Scala
For beginners: JavaScript
First language: Algol-60
Had difficulties: Prolog
Most used: Scala
Totally hate: PHP
Most loved: Scala
For beginners: JavaScript
no subject
Date: 2019-10-12 04:16 am (UTC)no subject
Date: 2019-10-12 04:33 am (UTC)no subject
Date: 2019-10-12 09:37 am (UTC)The difficulties I had with Basic were the difficulties of understanding the first programming language.
The difficulties I had with Prolog took me a week to get the mental model of how the solutions are meant to be constructed.
The difficulties I had with Haskell were around expressing the things I wanted in that type system. The other difficulties were around parsing some complicated folds and diagonals, not the language as such.
The difficulties I had with Python were around detesting its aesthetics.
The difficulties I had with Agda were around getting the induction. Not so much the induction itself, as the need to prove "trivial" things by induction. And getting why some types aren't equal.
These were the difficulties as in the things that stopped me in my tracks. But I would probably rather rate them as inspirations.
But possibly the worst kind of difficulties I had were with Javascript. It is just a sacrilegious pile of landmines. It is the language where writing safe and correct code is the most difficult. Python comes close, but not quite as bad; it has more sane ecosystem.
no subject
Date: 2019-10-12 03:37 pm (UTC)Did you read "the good parts"? The trick with JavaScript is to totally ignore all that bullshit that was introduced to appease Java and C++ programmers. Treat it as a typeless lambda. And you will see its beauty.
no subject
Date: 2019-10-12 03:56 pm (UTC)But why Prolog was difficult, and not, say, Haskell? Or Coq?
Yes, I've read "the good parts". You are allowed to discard "that bullshit" only if you are sculpting something from scratch. If you want to construct a working system, you are going to use the existing modules that probably are not so well written, plus the things are underspecified - some intentionally, like getting "bananas", some unintentionally, like the streams hanging. So the concept may be good, but in practice is too malleable.
no subject
Date: 2019-10-13 09:59 am (UTC)no subject
Date: 2019-10-13 10:33 am (UTC)Same with Lisp, btw.
no subject
Date: 2019-10-13 10:50 am (UTC)no subject
Date: 2019-10-12 09:41 am (UTC)Есть такое мнение, что Pascal какбе лучший for beginners
no subject
Date: 2019-10-12 03:38 pm (UTC)Паскаль тоже ничо так. Но проехали, увы.
no subject
Date: 2019-10-12 04:07 pm (UTC)no subject
Date: 2019-10-12 06:44 pm (UTC)Re: Totally hate: PHP
Date: 2019-10-12 09:41 pm (UTC)Пришлось попрагроммировать?
Мне, если честно, пришлось на теперешнем месте работы. Странное ощущение. Но не худшее...
Re: Totally hate: PHP
Date: 2019-10-13 06:15 am (UTC)Re: Totally hate: PHP
Date: 2019-10-13 09:36 am (UTC)Re: Totally hate: PHP
Date: 2019-10-13 06:52 pm (UTC)Re: Totally hate: PHP
Date: 2019-10-13 10:57 pm (UTC)Re: Totally hate: PHP
Date: 2019-10-13 11:50 pm (UTC)Re: Totally hate: PHP
Date: 2019-10-14 12:56 am (UTC)