Finger info for marco@icculus.org...


Languages, languages.

Seems like that current generations don't learn from past ones.
Recently I have been hearing about people ask about a good introduction to
programming. Generally I recommend people to just learn plain ANSI C.
My reasoning is, that it's not featuring any abstract concepts.
Developers need to be aware of the sizes of dataypes, they need to know
about the basics of memory mangement. And all this can be done without
a syntax that introduces complex, esoteric concepts.

Having studied and having taught Java in schools, for example, you
cannot get students to learn about "Hello World" without telling them
what a class is and why the entry function needs to be a
'public static void main' function. Why do things need to be this
complicated for starters? They shouldn't.

You could have a C program be just 'void main() { }' and things will
compile and run fine.
The point is, you are not doing them a favor at ALL by starting out
in a language that immediately confronts newcomers with concepts
that they do not yet comprehend. C is probably the most simple thing
you can ask for... and doesn't suffer from abstracted, non-machine
concepts ala OOP and whatever the hell Perl/Python are tring to do.

People selling you programming books will most likely recommend you
learn stuff like Rust or Haskell nowadays. Because those are 'safer'
languages. Do you really think anyone can even appreciate such things
if they have not been confronted about the alternative?
Do you think just saying "Oh, this is much better for you. C just needs
to go because it's old and doesn't have high-level concepts" will
produce a developer with experience?
A developer, who as part of the new generation, will be able to maintain
those same compilers that are written in C that make your 'safe'
languages possible? No. They don't.

It feels more like that modern-day developers jumping onto the new, hip
languages act almost like investors thinking in the short term.
How long have we been with UNIX? One heck of a long time.
It will not go away any time soon. As long as UNIX is around, C will
be relevant. I'd rather everyone start out learning C first to make sure
we can maintain this mess better in the future than we do now.

I mean, look at us. We're writing calculators, terminals, chat apps
all in JavaScript now and use some framework by the Github folks
to bundle it into a 150 MB desktop app no one will be able to run 5
years from now. What happened? And now Ubuntu's installer will
be written in HTML5 and deployed with Electron. Why?
Because Mark Shuttleworth wants to save money and just have the same
people who design and maintain his Ubuntu website replace the engineers
he fired last year. It's only economical. It's not because there are
any advantages to it. It'll probably end up making everything slower and
break older systems in the process.

Whatever, go port ffmpeg to js or something and write a HackerNews
post about it!

--Marco


When this .plan was written: 2018-05-20 17:55:42
.plan archives for this user are here (RSS here).
Powered by IcculusFinger v2.1.27
Stick it in the camel and go.