Ask HN: Which popular programming languages are you NOT interested in and why? - ps101
======
croh
Currently I am not interested learning modern front-end stack and js-
framework-of-week. Life is short. This stack is changing so fast. I will wait
few more years. Hopefully then it will be stable to learn.

------
theonemind
Pretty much all of them. I started with C and never liked OO programming. Even
when kind of optional in the language, for your own code, you still have to
deal with an OO library ecosystem because everyone writes the libraries that
way when the language supports it.

It kind of depends on what you mean by popular. I don’t have much interest in
Rust. It has a lot of hype right now. It doesn’t seem like a bad language,
just too low level for what everyone wants to use it for (due to hype and most
people not writing OSes).

~~~
ps101
Do tell more, what high level stuff do people want to use Rust for?

~~~
steveklabnik
Depends on what you define as "high level stuff", really. We're seeing an
increasing amount of people who are writing network services and web back-ends
in Rust; that's sometimes perceived as "high-level", depending on where you
sit in the stack.

------
buboard
Javascript. There is not much to learn if you come from c. And ‘the javascript
way’ is just a tangled mess. Python, because ‘the python way’ is just a bunch
of weird idioms for apparently no reason other than making it odd to read for
beginners. You have to use both, of course

~~~
acdha
> Javascript. There is not much to learn if you come from c.

Ah, yes, C, well known for having rich data structures, object orientation,
higher-order functions, etc. Even if you weren't conflating rather different
languages, JavaScript is inherently interesting for being the only language
supported by web browsers and thus being one click away from billions of
people.

> Python, because ‘the python way’ is just a bunch of weird idioms for
> apparently no reason other than making it odd to read for beginners.

That's a pretty flame-y way to say you didn't choose to learn the reasoning
behind something. Python has a lot of history developing language features in
public – note that
[https://www.python.org/dev/peps/](https://www.python.org/dev/peps/) starts in
2000 — so it's not like this is hard.

~~~
buboard
Like i said i use both. But I didn’t find it interesting to learn either.

~~~
acdha
Fair enough, but just be honest about saying rather than trashing other
people's work: JavaScript has a ton to learn which a C programmer will not
know, and Python has a history of reasoned decisions.

------
davismwfl
I can't really think of a current language I wouldn't be interested in
learning or learning better.

But there are languages that I am just not sure I am sold yet on, like
Haskell. I am not saying it is bad as I just don't know, and functional
programming isn't bad, but I am just not sure why Haskell over other options.
Would love to hear reasons it might be a better choice and in what
circumstances it is advantageous.

~~~
a-saleh
Depends what you want and what you value.

Do you really need types? I did work in Clojure and I think having good
support for immutable data-structures got me 80% of the benefits of functional
programming.

Similarily, maybe you are sold on actors and message-passing and Erlang/Elixir
is proven there :)

Or you would like types, but are not sure about the whole separation of IO
from pure functions in type system, you could try Ocaml (or its Javscript-
looking reskin Reasonml). Like, you don't get type-classes, but polymorphic
variants are nice and there is this interesting module system.

Or, if you really want to encode your domain in types and then maybe even use
the type-system to solve your programming for you, maybe try Idris? Like I
have been meaning to go through 'Type-Driven Development with Idris' one day
:)

But maybe Ocaml is too little and Idris is too much and Haskell sits in the
nice middle ground you like :-)

~~~
ps101
What's the more general pitch for learning a functional language in the first
place?

~~~
a-saleh
I don't think there is a general one anymore.

The original "wouldn't it be better if we just passed data around through
simple composable functions" kinda won, you have first-class anonymous
functions with support for closures in most languages today in use :-)

I think the next pitch is along the lines of "We can solve the evil of mutable
state making your app hard to debug/test" and i.m.o. that took over a bit as
well, i.e. with frontend we usually have state in one tree sitting somewhere
and what we display is just a function from state to our html.

And I have seen the state being represented as a fold/reduce over events in
the application.

So the pitch i.m.o. is along the lines "Hey, we converged on the idea that
functional programming is good, why not use language that has good support for
it" :D

------
quickthrower2
Python and Ruby. I don’t see how you could not want static typing. Not least
because of it’s documenting qualities. Otherwise what are we relying on
variable and method names to tell us what type something is?! Ha ha.

Lisp OTOH I could forgive the non static typing for the learning opportunity
but not sure I’d use lisp for production code for the same reason unless there
is a type checker utility.

I’ll put up with JS because of the Web and I can use TS but for server side I
won’t use Ruby and Python as I can slot in C# or Java or Haskell and have much
better time.

Finally Elm: definitely worth learning but hit its limitations pretty quick.
The problem is you have to route everything in your app through their mandated
UI pattern (imagine a web app where every piece of state including the
currently viewed month of a date picker 20 levels deep HAS to be a React prop
on the root object updatable only in in one root place with no abstractions
like interfaces or type classes or even hell monkey patching dynamic language
stuff to tame this problem).

------
bjourne
Rust and the other new zero cost abstraction languages. Reason being that I
think performance is a solved problem. The future is in safety and
readability. Not squeezing the last few percent of fps out of your hardware.
Go is in the same category. People are inventing better versions of C++ when I
want them to invent better versions of Python. :)

~~~
open-source-ux
_" I think performance is a solved problem"_

I disagree. In fact, I wish performance was taken more seriously by the
programming profession. Some of the most popular languages in wide use today
are also the most resource intensive.

When performance is an issue in running programs, a common response is:
hardware is cheap, just add another energy-guzzling server or use a more
powerful computer.

This attitude is embarrassing when you consider that in every other industry
there is a push for reduced resource usage and lower energy consumption. The
programming field is the exception.

------
beatgammit
Basically anything on the JVM or .NET. I used to use Java and C#, had to use
C++.NET for a job, and now I'm just done. I much prefer compiled languages and
scripting languages, and I don't see much of a need for something in between.
I also don't like working with Windows or Android, so there's not much reason
for me to care.

For actual preferences, I use and like Go, I'm playing with Rust quite a bit,
and I use Python, Lua, and JavaScript for simpler tasks. I'm also somewhat
interested in Nim and Swift, but the latter just doesn't seem interested in
being truly cross platform and I don't have any Apple devices, so it's in hold
for now.

------
sgillen
C++. I know it, I use it, I don't usually like it. A lot of the language just
feels like a hack. I usually much prefer to write performance critical code in
C but sometimes the utility of C++ or of certain C++ libraries outweighs that
desire.

Also while I don't really see C++ going anywhere anytime soon, I don't really
see it expanding too much either.

Both of these facts make me a lot less interested in really diving into
advanced features or low level details of the language.

------
karmakaze
C/C++ is what I started and built my first career on, back when performance
mattered for just about every program.

Most .Net languages with the exception of F# which I'm quite curious about.

Haskell, not a popular language in general but in this circle. I still haven't
bought into the value of building abstractions and abstractions upon that, and
abstractions that let those abstractions play nice together. Ultimate yak
shaving with a practical twist if you can pull it off. Seems too far removed
for most problems I'm interesting in solving. Less higher-kinded functional
langs (Clean, Elm), bring 'em.

Any ORM DSL. SQL is just fine.

Any version of ES20xx that's incompatible with TypeScript.

Scala. Tried it, abused it, went back and couldn't even read my own writing. I
think it could be good in the right hands, those being someone who can design
good languages for humans to use for each purpose. I haven't met many of them,
mostly folks who just want to make a DSL using any/every feature available to
do so.

------
matfil
Go. I don't feel the need for yet another language without conditional
expressions.

(More generally: I'm pretty firmly in the camp of "terse code tends to be
easier to read and reason about", and don't want language designers nudging me
to break expressions up and name intermediates).

------
AnimalMuppet
Python. I've seen too much of what happens to code files on multi-person teams
to ever want to have to deal with syntactically relevant white space.

I know, large teams make it work. It still is a source of potential headaches
that I don't need.

~~~
peteradio
It's barely a hurdle, if you can't manage to configure your setup to meet your
teams setup then it probably means you are not qualified.

~~~
AnimalMuppet
Thank you for your charitable interpretation of my qualifications.

But, you know, stuff happens. Somebody's machine loses the hard drive; in the
process of building the new hard drive, they miss restoring the configuration
for their editor. Somebody else installs a new editor, and forgets that
configuration matters. A new employee gets hired, and _doesn 't_ know either
how or why to configure properly. And behold, bugs get introduced invisibly.

That won't happen often. It will happen more than zero, though. And when it
does, it's a headache I don't need.

~~~
peteradio
Sorry, I don't mean to even suppose about your qualifications. Most scans will
detect mixed tabs/spaces and they don't even make it into the repo. And if it
is a continual problem with a particular team member then that has been in my
experience a sign that this person doesn't know what the hell they are doing.
Again I make no suppositions about your particular qualifications, I
apologize.

~~~
AnimalMuppet
No big deal. It just rubbed me the wrong way - perhaps more than it should
have.

But yes, if you have a team member that repeatedly does this, then there's
clearly a problem. If you run a scan that won't let people do this, that's
clearly a solution.

------
billconan
I don't like python, because most of the languages I have used and learned are
influenced by the c language. They use similar syntax with parentheses. I like
parentheses, because they define narrow logic scopes that help me focus.
Python is also not as flexible as javascript, if I need for a dynamically
typed language.

I also don't like go, because go forces to put curved bracket on the same
line, whereas I use the Allman style everywhere.

With Allman, I can vertically align a pair of brackets, This helps me to see
the scope they define.

------
dev_north_east
Any front-end stuff, I just have no interest in them.

Related to this, I am sad to see Swift (seemingly) taking over from Obj-C. I
really liked it years ago and it has a special place in my heart.

------
continuational
I'm not interested in any language with _ambient authority_ , where every
function may decide to read a file and phone home without declaring that in
its signature.

------
eeZah7Ux
Go and Rust for being unimpressive for something so modern and being
corporate-driven. javascript for... everything.

------
jolmg
C#, because it only seems to be useful for Windows and the language does not
seem to offer enough merit on its own to try to use it on a Unix-based system.

------
k0t0n0
I am playing around with Clojure/ring for the backend. I am not happy about
using node/ror/php on the backend.

------
krapp
Ruby. I just think it's ugly.

~~~
ps101
Isn't it also kind of dying out in terms of popularity? (I really don't know)

~~~
catacombs
It's slowly being replaced by Python. The only reason to use Ruby nowadays is
for Rails.

~~~
jolmg
Ruby is still the language I turn to when I need to write a script and the
shell does not suffice. I turn to it before Python because it's more terse
while still being very readable.

