Live data from Hacker News

An opinionated history of programming languages

artagnon.com

81–90 of 135 posts

Re: An opinionated history of programming languages

#81

I see a lot of users forgetting that it's an opinionated history. The author hasn't claimed to make this exhaustive. Further, it's a bit counterproductive to just point out f"Hey, what about {some_lang}?" Wikipedia has a decent resource to start, if you'd care to take a journey into computation notation history :) https://en.wikipedia.org/wiki/History_of_programming_languag... My own nitpick, to throw in the mix: The…

I’ve been learning ocaml for a few weeks. what makes the compiler sophisticated?

20+ years of some of the best researchers in the world?

It's been absolutely pummeled into stability by thousands of industrial use cases?

It's also like, STUPID fast. Try finding a large ocaml project, any will do, and see how fast it compiles.

Someone with more time and know-how could give a more technical testimony as to just exactly how badass ocaml actually is.

Re: An opinionated history of programming languages

#82
post #10
post #3

The author marked Clojure as a "dying language". I'd be interested to find out the metric by which this is true. In my experience, it is very much alive and thriving.

Can you elaborate on your experience? I have great respect for Rich Hickey and I recently saw a cool talk about a financial startup using Clojure in production [1]. I have kept track of the language for some time but have never had the chance to use it in any serious capacity. [1] https://www.youtube.com/watch?v=fnediEWRuyI

I think it’s a great language and a good community but I think some of the opposition to static types from Rich Hickey at the top is silly and I also find it genuinely harder to use languages which aren’t gaining wider traction after being around for over ten years.

Re: An opinionated history of programming languages

#85
post #78
post #36

Earlier quoted context omitted.

> Go's design is at the very least controversial and considered poor by a vocal subset of the hackernews and programming community. I'm in the camp of the rationales of Go's design being controversial. But the actual design is not bad IMO. For what Go wants to be (a modern C), it is not a bad design. But who wants a modern C? I don't. But if Go were available in the 90s, I would have jumped at the opportunity to writ…

I want a modern C. I love/hate C. I mostly love Go. It has warts, but the philosophy works _for my brain_. Python will gain usecases as a meta-language as the ability to automatically wrap lower abstraction libaries improves. I see Julia eating much of Python's lunch, then python abstracting its way over julia, just because it can.

> Python will gain usecases as a meta-language as the ability to automatically wrap lower abstraction libaries improves. I see Julia eating much of Python's lunch, then python abstracting its way over julia, just because it can.

A big problem for Python as a glue language is interproceedural optimizations. In many important high performance applications, you really need the compiler to be able to make optimizations that cross function barriers, often barriers between user-written and developer-written functions.

e.g. in differential equation solving, you can have a very fast integrator, and your user can have a very fast integrand, but if you don't have a compiler that's able to see and reason about both simultaneously, you're in trouble.

This is why slapping Numba on a differential equation and sticking it in scipy integrators isn't even close to julia DifferentialEquation solvers. This is a very hard problem to solve in an ecosystem where there's so many different siloed compilers used by different Python packages. You'll always end up paying a performance price of the context switch.

In julia, most things are written in pure julia, so the same compiler is seeing the entire program top to bottom. It's very nice.

Furthermore, Julia has much power powerful metaprogramming facilities than Python does. It'll eat Python's lunch on that front too.

Re: An opinionated history of programming languages

#86
post #78

Earlier quoted context omitted.

I want a modern C. I love/hate C. I mostly love Go. It has warts, but the philosophy works _for my brain_. Python will gain usecases as a meta-language as the ability to automatically wrap lower abstraction libaries improves. I see Julia eating much of Python's lunch, then python abstracting its way over julia, just because it can.

> Python will gain usecases as a meta-language as the ability to automatically wrap lower abstraction libaries improves. I see Julia eating much of Python's lunch, then python abstracting its way over julia, just because it can. A big problem for Python as a glue language is interproceedural optimizations. In many important high performance applications, you really need the compiler to be able to make optimizations t…

I can second this. I once implemented my own sparse matrix multiplication because I needed it in numba. Further, the type of automatic differentiation that is possible now is game changing.

On the other hand Julia is a terribly designed language in some respects. Compare python error messages to Julias. It has all the problems of c++ templates baked in from the start. And latency is a real issue for now. I am always shocked when I drop back to Python for one task or another how responsive it feels.

I think the latter might see a technical solution some time, e.g. by running code in the interpreter and swapping in jotted functions as they become available.

The former it seems might have to wait for Julia 2.0 to start addressing...

Re: An opinionated history of programming languages

#88
post #51

Earlier quoted context omitted.

Also missing is Ada from that same lineage, the entire category of concatenative languages (with Forth the best known example), COBOL, SNOBOL/Icon, BASIC, APL, PHP, Racket, etc. It's laughably incomplete, not a history at all, and "opinionated" is a severe understatement. Was not at all surprised to see that the author's still a student specializing in Coq and similar things. Experience building actual complex system…

Those other languages are interesting today only insofar as they have affected currently important languages. The exception is COBOL, which is still important in the way FORTRAN and Java are, but similarly will not affect future languages.

PHP is far from insignificant in 2020.
Post reply on HN