Live data from Hacker News

Programming Language Checklist

famicol.in

21–30 of 169 posts

Re: Programming Language Checklist

#21

>> You appear to believe that: Syntax is what makes programming difficult This is exactly the problem. People spend so much effort looking for better syntax that they miss the most important part of programming. It's about design and structure, the syntax doesn't really matter at all. I don't even care if it's dynamically typed or statically typed or functional or not. A bad developer will produce bad code no matter…

"but it has basically no effect on quality of the code" well if you include number of bugs of certain class as a criteria of quality it would be pretty hard to argue that there is no difference between say Rust and C.

Re: Programming Language Checklist

#23

Earlier quoted context omitted.

I think those were included specifically to poke fun at Lisp. The list isn’t meant to be taken very seriously.

I also chuckled at the '[ ] "multi-paradigm"' and immediately thought of lisp since it's one of the only languages that's ever had a reason to lay claim to that. If you think about it, lisp is really just the smallest amount of higher-level PL primordial soup you can give to a programmer.

Almost every language is multi paradigm (it just takes two paradigms after all, so every imperative OOP language is multi paradigm). All the most popular languages today have a mix of imperative, functional and OOP. Few languages (and certainly fewer popular ones) are paradigmically “pure”.

Re: Programming Language Checklist

#24

Earlier quoted context omitted.

I think those were included specifically to poke fun at Lisp. The list isn’t meant to be taken very seriously.

I also chuckled at the '[ ] "multi-paradigm"' and immediately thought of lisp since it's one of the only languages that's ever had a reason to lay claim to that. If you think about it, lisp is really just the smallest amount of higher-level PL primordial soup you can give to a programmer.

there are tons of multiparadigm languages, but oz/mozart in particular is worth a glance: https://mozart.github.io/mozart-v1/doc-1.4.0/tutorial/index....

Re: Programming Language Checklist

#25
post #21

>> You appear to believe that: Syntax is what makes programming difficult This is exactly the problem. People spend so much effort looking for better syntax that they miss the most important part of programming. It's about design and structure, the syntax doesn't really matter at all. I don't even care if it's dynamically typed or statically typed or functional or not. A bad developer will produce bad code no matter…

"but it has basically no effect on quality of the code" well if you include number of bugs of certain class as a criteria of quality it would be pretty hard to argue that there is no difference between say Rust and C.

I think C has better syntax than Rust, by miles. Rust's syntax is the bastard child of C++ and OCaml and is more than the sum of its parts. Rust code having fewer bugs has absolutely nothing to do with its syntax.

Re: Programming Language Checklist

#26
post #4

Of course, every successful language could be roasted with this, too. It's a cute post but if there were a simple checklist for creating a successful language, every language designer would just do that.

Bjarne Stroustrup, creator of C++, is often quoted with this statement: "There are only two kinds of languages: the ones people complain about and the ones nobody uses." I suppose, scathing criticism in that respect is the highest form of praise.

If you’re not making anybody angry, you’re not doing anything important.

Re: Programming Language Checklist

#27

>> You appear to believe that: Syntax is what makes programming difficult This is exactly the problem. People spend so much effort looking for better syntax that they miss the most important part of programming. It's about design and structure, the syntax doesn't really matter at all. I don't even care if it's dynamically typed or statically typed or functional or not. A bad developer will produce bad code no matter…

A master can make good work with shit tools, but they'll still prefer to work with good tools.

Syntax matters because it's part of the interface, and so it has the ability to clarify or confound. Destructuring assignment; async/await instead of CPS (technically not exactly equivalent due to variable scope, but close enough in actual usage); pipe operators/macros instead of (third-function (second-function (first-function the-data))). None of these make the language more powerful but they do aid clarity and concision, as well as just making the language nicer to use.

Re: Programming Language Checklist

#28
> [ ] You have reinvented Javascript but worse

> [ ] You have reinvented PHP but worse

I'm trying to think of languages that would fit that bill. That almost sounds like a challenge.

Re: Programming Language Checklist

#29

Earlier quoted context omitted.

,,I've written code in many languages and I can produce good software with any of them. '' If you write code yourself and view that as the main advantage, type systems matter less. But when working in a team having statical typing as a written contract between people can help development substantially.

I am still more productive with a type system, also on my own. When projects reach a certain size, it just helps a lot in keeping things working and clean long term. This 'contract' can be with your former or future self, and, in my experience, helps a lot.

I usually start with no/little type information in Julia and then add type imformation when it can't be inferred easily.

Re: Programming Language Checklist

#30
post #14

I got an idea for a language where the code in the file format is some intermediary language, which you write with an editor plugin that makes it more human-readable. The editor plugin (in contrast to existing language plugins) also translates the error msgs back to the human-readable code. Just an idea, but I could not get it to fit in the questionaire :)

Projectional editors use that setup. Might be slightly different than what you have in mind since projectional editing is not great at text editing. But have a look at Jetbrains MPS, that's a language workbench for projectional editors.
Post reply on HN