# Love  & hate.



## Alain De Vos (Yesterday at 7:13 AM)

Which programming languages do you like and which programming languages do you dislike.


----------



## Crivens (Yesterday at 7:34 AM)

I would say I dislike python and JavaScript more than I dislike java. Java led to bloat and overly complex designs.
I like C, C++ if not overdone and I find myself liking ObjectPascal more and more.


----------



## smithi (Yesterday at 8:09 AM)

Alain De Vos said:


> Which programming languages do you like and which programming languages do you dislike.



Alain, fair question for ensuring that you maintain threads in the 'top 40', but please change the title: "Love & hate", unqualified, is just clickbait.


----------



## Alain De Vos (Yesterday at 8:43 AM)

It was on purpose. I could have added free nudes. A small joke should be allowed.


----------



## BobSlacker (Yesterday at 9:13 AM)

I'm not a dev myself, most like a "wanna be" sysadmin. But I really like Shell Script and Perl. I dislike compiled languages, most because they are to difficult for my monkey brain.


----------



## Ogis (Yesterday at 12:50 PM)

I am not a developer, or programmer. I am a simple user. Well, I'm a bit more knowledgeable than the average user 


 The programming language I hate the most is lua. The most favorite is Lisp (list processing), a functional programming language.


----------



## jbo (Yesterday at 1:03 PM)

smithi said:


> Alain, fair question for ensuring that you maintain threads in the 'top 40'


So I'm not the only one....

I'm coming from the hardware side of things so assembly, C, C++, VHDL, ...
Personally I like C++ the most as I perceive it to be a very versatile yet robust choice.


----------



## cracauer@ (Yesterday at 1:56 PM)

Lisp is the only language I like. It has compile-time computing where the language available at compile time is the same as at runtime. I.e. you use Lisp both at compile and run time. That is strictly required to always keep all assumptions you make during coding in one place in the source code (and generate all code that uses the assumption from there, so that later changes to the assumptions only require one source code modification and every place that needs changing does it).

That is in sharp contrast to e.g. C++ where you have two compile-time languages - the preprocessor, which is not very powerful, and templates - which is a side-effect free language that has only one type - types. Neither are the same language you use at runtime.

I still like C++ in a text adventure kind of way. Nice puzzle.


----------



## SirDice (Yesterday at 2:12 PM)

Love: Perl. What can I say, I'm a Perl monger. It's also a language I have used the most, I'm therefor very comfortable with it.

Hate: Forth. Tried getting to grips with the old Forth loader(8). I'm quite fond of my RPN calculator so figured an RPN programming language can't be that difficult to understand. Boy was I wrong. I gave up after nearly getting a brain aneurysm from studying the code.

Few other languages I dislike mainly because the syntax was quite hard to understand. Even if I don't know a particular language I can usually read and understand what the code does. The structures (loops, conditionals, etc) and variables often are quite similar between different languages. This particular one however, forgot the name of the language, the code looks like a bunch of random characters to me.


----------



## BobSlacker (Yesterday at 2:35 PM)

SirDice said:


> Love: Perl. What can I say, I'm a Perl monger. It's also a language I have used the most, I'm therefor very comfortable with it.
> 
> Hate: Forth. Tried getting to grips with the old Forth loader(8). I'm quite fond of my RPN calculator so figured an RPN programming language can't be that difficult to understand. Boy was I wrong. I gave up after nearly getting a brain aneurysm from studying the code.
> 
> Few other languages I dislike mainly because the syntax was quite hard to understand. Even if I don't know a particular language I can usually read and understand what the code does. The structures (loops, conditionals, etc) and variables often are quite similar between different languages. This particular one however, forgot the name of the language, the code looks like a bunch of random characters to me.


If I want to improve my Perl skills and support FBSD at the same time, where would be a good place to start?


----------



## SirDice (Yesterday at 2:39 PM)

BobSlacker said:


> If I want to improve my Perl skills and support FreeBSD at the same time, where would be a good place to start?


There's nothing in the base OS that uses Perl. Not anymore at least. Perl used to be included in the base, it got removed and moved to a port. This also meant that nothing in the base OS could rely on it anymore.

That said, get a good book[*], install one of the ports/packages. There are also plenty of Perl modules in the ports tree, they all start with p5-*.

[*] I have a copy of Perl 5 Complete. It's fairly old now, not sure if it's still in print. But I learned everything from reading that one. I also have a set of Perl books from O'Reilly. I mainly bought that one because it came with a license for the ActiveState Perl debugger.


----------



## cracauer@ (Yesterday at 3:35 PM)

I like Perl, too, I should have mentioned that. It has very interesting code compression going on, but very different from Lisp.

Whereas Lisp compresses your most complicated code to the essential assumptions Perl compresses the most common code constructs. If you write lots of code in common constructs you gain a real advantage.


----------



## _martin (Yesterday at 3:44 PM)

I love C and pretty much any form of assembler (though lately only x86, mips and arm not so much lately). Perl is my weapon of choice for scripting at $job though nowadays I'm using python a lot (as pwntools is python it deos make sense). Also many tools have python support (IDA, gdb) making my life happier.

I don't hate any language (well, maybe java ? ) but I don't like higher level languages such as C++, objective-C and such.


----------



## astyle (Yesterday at 3:51 PM)

I like C, but not C++ - I think the latter just gets unnecessarily complicated. When something like KDevelop doesn't compile, errors can be pretty arcane, like "unused variable"... WTF, can't you leave that alone? Turns out it's possible to get the compiler to ignore specific errors like that, but it's extra effort to figure out how to do that - AFTER putting the mental effort into the program itself.

I'm OK with Java. Yeah, it's not the fastest thing around, but it was the hot thing when I was in college, so I can take a look at javac errors, work with them, and get the compiler to shut up.


----------



## jbo (Yesterday at 4:08 PM)

astyle said:


> errors can be pretty arcane


This got somewhat better in more modern versions of C++ (especially template based errors are much better since the introduction of concepts in C++20). But yes, overall I agree with you. C++ is not necessarly the "use it once per year" kind of language.



astyle said:


> like "unused variable"... WTF, can't you leave that alone? Turns out it's possible to get the compiler to ignore specific errors like that, but it's extra effort to figure out how to do that - AFTER putting the mental effort into the program itself.


Most compilers, especially the ones used for desktop software such as GCC, clang, MSVC and so on, do not error on unused variables by default. This is a setting that is deliberately set manually. The default behavior does exactly what you want/expect.


----------



## eternal_noob (Yesterday at 6:43 PM)

C(++)
 JavaScript and similar abominations

A special place in my heart has AmigaBasic because that's the language it all started with more than 30 years ago.


----------



## Crivens (Yesterday at 7:14 PM)

eternal_noob said:


> C(++)
> JavaScript and similar abominations
> 
> A special place in my heart has AmigaBasic because that's the language it all started with more than 30 years ago.


You know that that was from Microsoft, and the same as on the Atari?
I also started with that, then went to M2, then Assembler, then C. Good times.


----------



## _martin (Yesterday at 7:29 PM)

`?peek(710)` and `poke 710, 177` are burnt to my brain forever. Used to type that (the later) every time I started any bigger project on *my atari (by project I mean open a book and write line by line from there to a computer.). Indeed good times.
I really don't understnand how I could have liked that color ever. But I was young. 

*It was my brother's Atari, I never owned one.  I do now.


----------



## bakul (Yesterday at 10:23 PM)

Love: Scheme
Like: CL, Haskell, APL, K, C, Go, prolog, smalltalk, beta, Algol68, Logo, Pascal, Algol
Dislike: Java, C++, PL/I, Cobol, Fortran, perl, J, m4
Neutral: python, forth, postscript, sh, rc, awk, scala
Haven't decided: v, nim, rust, javascript, ocaml
Don't know enough: ruby, D, dart, zig, ML, C#, F#, swift, Clojure, snobol, icon, newer languages

Note: likes and dislikes don't have to be rational


----------



## Vull (Yesterday at 10:38 PM)

Well, the correct term, or at least the term I prefer, is ECMAScript, not javascript. I may not "love" it, but I like it, if for no reason other than its nearly universal availability.

I dislike the term jscript.

I love a good, up-to-date PHP interpreter, running on the server, in conjunction with object-oriented ECMAScript running in a decent, more-or-less standards-adherent browser, such as Firefox, Chrome, etc., to run multiple-user time-sharing and task-sharing GUI applications.

I love PostgreSQL for relational database "file-sharing."

I do not support the Edge browser. I have no "love" for it, nor any good reason to support it, when Firefox can be installed in about 5 minutes. I also dislike MS Internet Explorer, but I still have the flotsam and jetsam laying around in my ECMAScript, from back when I felt I had to support it, and it would be more trouble to remove it now than to just leave it in place.


----------



## Alain De Vos (Today at 12:44 AM)

I like the languages : Ocaml,Chicken-Scheme & Dlang.
When you program OCaml or Chicken-Scheme with a language server (neovim or vscode), you know 100% certain the program will compile even when you are still typing code. Ocaml even does all the type-checking during the typing, which is a huge advantage.
I dislike C++, overly complex.


----------

