Love & hate.

I'm quite fond of Haskell. I think if God is a programmer he most likely thinks in lists and functions, not the horrid C++/Java paradigm of objects and methods. I remember in the early 2000s I assumed the C++ way was the correct way to model reality, simply because everyone said it was, and I hadn't developed the critical thinking skills to realise that no, it was all just hype - smoke and mirrors. C is much more beautiful than C++ and I would probably like Lisp too as being a kind of primordial Haskell. However, I couldn't find a good free IDE for Lisp so I never delved into it. There was all this insane talk of using Emacs and being happy. Which to me is like having someone seriously suggest to keep my programs on punched cards. It's annoying because I think I'd get along with Lisp quite well if there wasn't such a barrier to entry.
 
I'm quite fond of Haskell. I think if God is a programmer he most likely thinks in lists and functions, not the horrid C++/Java paradigm of objects and methods. I remember in the early 2000s I assumed the C++ way was the correct way to model reality, simply because everyone said it was, and I hadn't developed the critical thinking skills to realise that no, it was all just hype - smoke and mirrors. C is much more beautiful than C++ and I would probably like Lisp too as being a kind of primordial Haskell. However, I couldn't find a good free IDE for Lisp so I never delved into it. There was all this insane talk of using Emacs and being happy. Which to me is like having someone seriously suggest to keep my programs on punched cards. It's annoying because I think I'd get along with Lisp quite well if there wasn't such a barrier to entry.
Wow, Haskell is one of the languages I don't like... because when it comes to writing even a simple program, it's right up there with brainfuck, as far as I'm concerned. I don't enjoy recalling the sleepless nights I spent in college on Haskell scripting for homework, only to earn a C for the class...
 
Wow, Haskell is one of the languages I don't like... because when it comes to writing even a simple program, it's right up there with brainfuck, as far as I'm concerned. I don't enjoy recalling the sleepless nights I spent in college on Haskell scripting for homework, only to earn a C for the class...
Oh yes, I'd hate to have to write Haskell under that kind of pressure. I like to do everything after a coffee and a long think.
But Haskell has changed the way I think about everything. It's the precision and incisiveness of it. I think it awoke something a bit autistic in me tbh because now, when I watch the news on TV, I'm more concerned about whether its "correct" than whether it's true. :D
 
A long time ago I wrote down the LALR(1) parser generator algorithm, using sets and operations on them (I had implemented it in Pascal and wanted to reimplement in C just for kicks). Later when I came to know of Miranda (a precursor to Haskell but similar) I was pleasantly surprised to see just how close my abstract model came to directly expressing it in Miranda! I still try to model anything even halfway complex using an abstract model as one can focus on the essential parts and not get bogged down by C level language details. Using a non-strict function programming language for it is like having an executable abstract model!
 
I forgot to mention that i absolutely hate Windows PowerShell.

Had to use it at work for programmatically merging multiple Powerpoint presentations into a single one. Oh boy, what a drama...
Especially considering that it's far easier to just copy-paste whole slides with a mouse into one presentation anyway. Why make an assignment this damn complicated? ? Or were you trying to use a phone to do all that?
 
It's complicated. A customer wanted to select Powerpoint presentations to be merged via web interface.

These files are on a completely different machine than the web server is running on. A SOAP server on another machine delivers those.

Hundreds of presentations, arbitrary sort order.

Oh, and heavy use of shell scripts involved.

You get the idea.
 
I have a thick book on Haskell. Thick books are bad sign/omen.
That is why the EBNF for Oberon2 is one page and the C++ one is how many chapters? And the original Oberon2 compiler was less that 5kloc. A bug would struggle to hide very long in there.
 
Well, Haskell is a research language, so it was pretty inevitable that it (and its libraries) would grow and develop. I don't think it's grown in a sprawling, unwieldy way like C++ has... but I agree there is something nice about a language like C in that it's very lean and still recognisable after decades of judicious improvements.
 
I think so, but I became fan of ocaml. In Haskell you can do the same thing in different ways.
I'm not a fan of lisp, & there is janet & fennel.
 
Of the ones I'm still using today:
  • Love Python (because I use it a lot, so I know it well, including its idiosyncrasies and shortcomings). The problem with Python is that it is a little bit slow, and uses a huge amount of RAM when you have lots of stuff in memory (I often have data structures with tens or hundreds of millions of objects while running). The unfortunate fix to the memory problem is to heavily use Numpy/Scipy/Pandas; but the API to those is completely awful, mostly because it is (deliberately!) non-deterministic.
  • Hate C (its so low-level, writing interestingly complex stuff takes forever), and absolutely detest C++. Why detest C++? Because the language has become so hyper-complicated, and has fragmented into so many nearly incompatible dialects. The dialect I learned 25 years ago (which was fundamentally C with classes) is completely different from what we do today, with heavy reliance on templates and auto pointers and auto variable types. Plus, it has become even more verbose than Java.
  • Sort of like Java; while the original language was relatively clean and crisp, today's idiomatic usage has a lot of boilerplate that adds no value but is easy to type.
  • Beginning to like SQL. The trick with liking it is to understand that it is not a procedural programming language, and if you use it like one (do this, then do this, sometimes do this), your code becomes convoluted and unreadable. If you instead use it to "describe what I want to get done, and let the compiler figure out how to get there", it is pleasant.
  • I have messed around a little with Go and Kotlin, and they seem like they would be pleasant. I have on my to-do list to mess around a little with Carbon. Don't have time to do a serious project (tens of thousands of lines) in any of them, which would allow me to have well-founded opinions on them.
In reality, the answer depends heavily on the kind and scope of project one is working on.
 
[...] I couldn't find a good free IDE for Lisp so I never delved into it. There was all this insane talk of using Emacs and being happy. Which to me is like having someone seriously suggest to keep my programs on punched cards. It's annoying because I think I'd get along with Lisp quite well if there wasn't such a barrier to entry.

Try Harlequin Lispworks. It has a real integrated IDE, with an editor written in Common Lisp and running in the same process as the Lisp image. A lot closer to a Lisp machine than Emacs + Slime + CL.
 
Which programming languages do you like and which programming languages do you dislike.
Love & Hate: Shell Script
Why ? Because that's the only thing I really ever used and know, as not a IT guy the shell is already a big step.
Sorry for interrupting, you guys can continue now.
From shell with Love :)
 
Thanks. Lispworks is proprietary though, in fact I think discovering that was what brought my Lisp journey to an abrupt end. I can't even see any pricing info on their website...
 
D***, I wish I was selling software that's so expensive that you don't tell anyone how expensive it is. :D Hopefully one day!
I suspect those days are mostly gone....

There is a hardware description language called Bluespec that had Haskell like syntax. That didn't seem to be very popular (how many h/w engrs know Haskell?) so they made it more Verilog like and called it Bluespec Verilog. Ultimately they opensourced the compiler in 2020.

[It is at a higher level than plain Verilog. I like the language and may be use it for an FPGA project to check it out. But I do think they missed the boat by making it more verilog like and not C like -- that is, keep the semantics the same but allow people to use more concise syntax. Spelling everything out is useful when you are learning but gets to be a chore when you can not see a cohesive unit of some logic on one page!]
 
ObjectiveC was nice, somehow. I did not do much with it, maybe one day it's chance will come.
 
Pascal (Borland/Turbo, Delphi) -> perl (used properly, text processing, not writing system software in it) -> C. Everything else I'd like to learn (and love) someday (hopefully that does not mean "never" as usual).
 
Back
Top