Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Some language designer create a language that focus on developers so they can be happy. Can a programming language make a programmer happy? In what way a programming language make a programmer happy? In the end all programming language is the same isn't it? You also have the burden to do the work which might not make you happy anymore.


locked by World Engineer Mar 17 '14 at 17:51

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

closed as not a real question by Yannis Mar 3 '12 at 10:16

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center. If this question can be reworded to fit the rules in the help center, please edit the question.

All languages aren't the same. Assembly language doesn't make me nearly as happy as python. –  John Berryman Jan 12 '11 at 4:28
So it's personal. Not really objective right? –  Joshua Partogi Jan 12 '11 at 4:53
Java makes me happy. C++ makes me very depressed :P –  Anto Jan 12 '11 at 6:12
happiness is individual's perception. –  pramodc84 Jan 12 '11 at 6:18
Strange, for me it's the other way 'round - Java makes me angry, PHP depressed, but C++ makes me joyful and happy. Tastes differ, obviously. –  foo Jan 12 '11 at 6:58

16 Answers 16

up vote 38 down vote accepted

The amount of happiness you derive from a programming language is the inverse of the amount of cognitive friction to accomplish a programming task. Ie lots of unnecessary crap will take you out of flow and out of your "zone of happiness" :)

+1 - short, general, and to the point. –  foo Jan 12 '11 at 7:00
You know, I think a good IDE goes a long way to reducing 'cognitive friction' too. –  RYFN Jan 12 '11 at 23:10

Someone had to mention it - Lolcode always makes me happy:

  UP VAR!!1

It never fails to make me smile :)

definately a love/hate thing I think! –  RYFN Jan 12 '11 at 15:40
<spit take> ... –  RedBlueThing Jan 12 '11 at 23:55

When I'm not hitting my head against the wall I'm happy.

  • Some languages pass this test,
  • some fail,
  • most pass some of the time,
  • some would leave me brain damaged.

An excerpt from the "Happy" language


Mmmmm, I'm happy. Until they fire me and I'm burned at the stake by all the other developers in the world.

If your specifications are that good, you should be happy ;) –  hiena Jan 12 '11 at 16:00
It turns out his requirements spec was written in C#. –  Scott Whitlock Jan 12 '11 at 17:25
That would not work at all... you need to change the first line to: Application=NaturalLanguage.read("/RequirementsSpecification.doc").ConvertTo(cli‌​ent.ReallyNeeds()) –  JoelFan Jan 12 '11 at 21:45

The main reason I don't like a programming language is when I've had to maintain very ugly code written in that language.

For example, I don't like C++ because I've had to maintain utterly diabolical legacy C++ code in several previous jobs. By contrast, I like Java because most of the Java code I've ever had to maintain has been fairly well written.

It mostly comes down to what MattiasK says I think.


core javascript made me unhappy, jquery did bring lot of happiness for me.

maybe i didn't try as hard as i could being involved in other stuff but today in web 2.0 world and when there are talks about 3.0 it is really must to know something like that ,jquery is the right alternative to that when rapid development is the priority


All Programming languages are not same, IMHO, I'm pretty happy with Java, because of it's syntax, strongly typed variables, pretty understandable API, predefined libraries, etc. But, JavaScript makes me to pich my hair. It's not a strongly typed language. And, a lot of libraries are there with different approach.

@dan_waterworth : You aren't correct at all! –  Abimaran Kugathasan Jan 12 '11 at 6:28
@dan_waterworth : From your point of view, Tamil, Sinhala, and some others. Finally, little bit of english, to communicate some creatures here. heee hee –  Abimaran Kugathasan Jan 12 '11 at 7:27
Agreed, Javascript just feels icky and makes me feel like I'm walking on a glass walkway. Not having strongly typed objects scares me. –  Sergio Jan 12 '11 at 13:30

A programming language makes you happy when the thought processes you use to work in your problem domain match the thought processes the language supports (not merely allows, mind, but supports!).

A programming language makes you unhappy when the thought processes you use to work in your problem domain do not match the thought processes the language supports (again, as opposed to merely allows).

(A programming language will drive you to wishing death on all of its advocates when the thought process you use to work in your problem domain are actively stifled by the language.)

There are some implications to these:

  • First, the thought processes you use may vary according to the problem domain you're working in. If you're writing an embedded controller's firmware you'll be using different mental tools than if you're writing some form of AI system.

  • Second, given the first, this means that different languages will make you happy, unhappy (or code-raged) depending on what you happen to be working on at the time.

  • Third, given the first two, it is obvious that what language makes you happy in a given circumstance will be different from what language makes another developer happy in the same circumstance.


The reason why there are that many programming languages is simply that all of them are different and make a different group of people more happy than others. There is no and never will be a perfect programming language of which everyone will say “it's my favorite”. People are too different for that, and that's actually a good thing because that way we keep seeing new good (or bad) languages that all bring new aspects and keep making other people (more) happy.

The real task is just to find the programming language that fits the best to your needs and which you can work the best with.


The prevailing opinion here is that a programming language should match the thinking processes of the programmer. I will present an alternative: that the thinking processes of the programmer should match the programming language.

Here's why: in the process of matching your thought process to the language, you will implicitly learn about the language as well as the design decisions behind it. This is true especially when the language turns out to not worth using; you'll know why it's so bad and possibly how to prevent such bad designs going forward. If the language teaches you something really worthwhile, on the other hand, you'll have a new tool you'll be able to use for the rest of your career.


I know several languages that make me frustrated. The more a language gets out of my way and lets me think about the problem domain, the more I appreciate the language. That said, while being happy means I'm not frustrated, not being frustrated doesn't automatically make me happy.

I don't look to programming languages for happiness. I have other pursuits in my life that fulfill that role.


A programming language can make you happy for all the reasons ice cream flavor can make you happy.

  • It meets your personal tastes
  • It goes great with what you're enjoying right now
  • It reminds you of good memories
  • It is personally satisfying

Some languages can substitute for each other easily in many of these categories, some cannot. Often that depends on the individual preferences.


A language that makes me happy in itself is Scheme.

That does not mean I would like to use it in huge projects, or I like to debug it: what I like a lot about it is the constant sensation of understanding something new about programming, and how computers "think", when I use it.

It's not about memory allocation and stuff, it's about logics. I feel like me and the compiler can actually talk naturally, not like I'm trying to force it doing something I want him to - as in c - or just giving it some code, confident that he'll find some obscure way to understand it - as in python, php, perl, ruby, everything.


Languages are tools. Try to get to know each language, and like them all for different reasons... like they were your sons/daughters... perhaps you "should" have no favourites (but you know you do).

For example, I'm a very happy PHP programmer, and it makes me feel happy and warm and fuzzy. I know c/c++, python, ruby and java, and I like them all equally for different reasons and situations, but my favorite is PHP regardless, because when I do PHP work it is the work that I enjoy most.

I know how to do good PHP, that is, well architected, object oriented, clean and readable (yes, you read right) PHP, but other people have a different concept from PHP, because of their experience with it.

So my answer to your question is yes, but it depends on the person and his/her experience.


Clojure makes me happy for three different reasons:

  1. It's insanely productive. Being productive makes me happy.
  2. It's elegant, in the xkcd sense. I appreciate the intrinsic beauty.
  3. It's fun. You can hack your running program while it plays music live at the REPL - what's not to like?

I'd say any programming language will make you as much happy as your mindset fits its ideology. If you "don't get" the language - it won't make you happy even if you work with it for a few years (unless you change your mindset to fit its ideology, of course). Some people like expressiveness (why they may choose ruby) others give priority to explicitness (not a knowledgeable in python, but i presume that language would be the choice of the latter category of people).


Not the answer you're looking for? Browse other questions tagged or ask your own question.