[ / / / / / / / / / ] [ dir / ask / dcaco / fur / hypno / o / sl / ttgg / u ][Options][ watchlist ]

/prog/ - Programming

Programming board

Catalog

You can now write text to your AI-generated image at https://aiproto.com It is currently free to use for Proto members.
Name
Email
Subject
Comment *
File
Select/drop/paste files here
* = required field[▶ Show post options & limits]
Confused? See the FAQ.
Expand all images

[–]

69b312 (1) No.3390[Watch Thread][Show All Posts]

I can forgive languages like C, C++, LISPs, and even Java to some extent, because at the time we needed performance (where we used C/C++) and we didn't know any better (where we might have used a LISP).

However, there is a glut of modern languages that appear to have been developed by studiously ignoring the last 30 years of programming language research. JavaScript, Python, Ruby, Go, Erlang, and before you think I'm hating on dynamic languages, C#, F# and Scala too.

Concepts such as static types, immutability, parametric polymorphism, tail call elimination, first-class functions, higher-order functions, type inference, type classes, higher-kinded types, and rank-n types have all proven themselves and are absolutely essential to avoid code duplication and enable code reuse. Additionally, concurrency and parallelism become almost trivial when these features are present.

My question is: why are we still creating crippled languages, that do not allow for modularity, reusability, equational reasoning and easy concurrency and parallelism, when we know how to design better languages that do allow for these things?

b8933f (1) No.3393

Usually because it's more pragmatic to use something else.

Try programming a filesystem driver in Haskell, or a graphics driver. It's possible, bug it'll be slow and the code won't be clean.

If you can design a perfect language, than by all means do it.


4c38dd (1) No.3406

So what's the best tooled language?


8e610f (1) No.3461

Because everyone is using a language paradigm that's excellent for near-direct use of the hardware and writing "applications" (intentionally vague) in it. Of course writing device drivers in Haskell probably isn't a good idea, but writing mail clients in C++ isn't good idea either.




[Return][Go to top][Catalog][Screencap][Update] ( Scroll to new posts) ( Auto) 5
3 replies | 0 images | 4 UIDs | Page ?
[Post a Reply]
[ / / / / / / / / / ] [ dir / ask / dcaco / fur / hypno / o / sl / ttgg / u ][ watchlist ]