4 ms·
Can I be extremely shallow? Because the language feels like it's from the 60s. Like writing Fortran or Ada or Algol in 2021. C is timeless, it doesn't count. I
by 1_player 5y ago
Can I be extremely shallow? Because the language feels like it's from the 60s. Like writing Fortran or Ada or Algol in 2021. C is timeless, it doesn't count.
I love lisps, but Racket, for example, feels more modern than Common Lisp to me. And for shallow people like me, feel and ergonomics are very important when writing code.
- kevin_thibedeau 5y agoIt's an IR for a never completed language.
- spicybright 5y agoCould you elaborate a few specific points on this? Curious because I'm on the same boat. I was annoyed for a while how ruby convention uses '?' characters at the end of method names that return a boolean. I'm not even that old and I still want to yell `[a-zA-Z0-9_]+` identifier names or get off my lawn.
- Jtsummers 5y agoWhy would you want to limit yourself so drastically in what you can express with function and variable names?
- Zababa 5y agoI don't think this is drastically limiting, it's a sane subset that gets you 99% of what you need from a function name.
- Jtsummers 5y agoWe use punctuation and symbols in typography and writing to provide clarity. Why not use it in our programs?
- Zababa 5y agoPrograms? Aren't we talking about variable and function names? But for the general case, Lisp does use puncuation and symbols. It just tends to use less. The other side of the balance is operators like ~+#>. Most languages are in the middle ground. All of these options are fine and have their uses. I wouldn't like to see stuff like ~+#> every day, but I like being able to implement <.
- Jtsummers 5y agoPrograms are composed of those things.
- Zababa 5y agoSure, but you don't use a lot of punctuation in identifier names. For example, in JS: function sumOfArray(arr) { return arr.reduce((sum, element) => sum + element, 0) } Now in Scheme: (define (sum-of-list lst) (reduce + 0 lst)) Both have punctuation, but usually not in the identifiers (except for - and _)
- gpderetta 5y agoIn fact we do, but as in typography you do not use punctuation to write words. Then again, I really like '-' in symbol names.
- spicybright 5y agoI don't, I always follow whatever convention the langue/code base uses. I'm just saying like GP I'm shallow and prefer C style identifiers where it makes sense to.
- dunefox 5y agoIn Julia, the convention is that a function like "swap!" modifies its input. It's extremely handy. Also, "odd?" is just an elegant way to name a predicate.
- theodorethomas 5y agoI saw that convention in IBM/NAG's Scratchpad/Axiom computer algebra system which was designed in the 80s. It may go further back than that.
- dunefox 5y ago> C is timeless, it doesn't count. Of course C counts. IMO it is a language that should have stayed in the last century. > feel and ergonomics are very important when writing code This is the reason why I can't stomach languages like Java, C++, etc.I feel like I'm fighting a very constrained interface.
- anthk 5y agoC's succesor is either Go or Plan9/9front's C. Outside of "Unix 2.0", you have Go. Please, do not compare Java and C++ against C, C++ is a monster it should never have born, and Java it's a shitty TCL "alternative" from its era.
- dunefox 5y agoIf anything zig or rust are the successor, Go is a language from the 90s. We can agree on C++ and java, though.
- anthk 5y agoGo is a rehash of Alef/Limbo. Is not from the 90's. If you say so, we could say the same on Zig. BTW, UTF-8 dates back to the 90's, good luck finding a better alternative. And TCP/IP it's even older, but it works. Something being newer doesn't make it better.
- pdimitar 5y agoWhen we're talking about strong type systems and classes of bugs eliminated just because the program compiled (a la OCaml, Rust, Haskell)... yes, newer is better. Your argument isn't universal; something being older doesn't say much about its quality either.
- pjmlp 5y agoC was already pre-historic in the 1990's, of course it counts.