Live data from Hacker News

Why must you laugh at my back end?

blog.pud.com

51–60 of 230 posts

Re: Why must you laugh at my back end?

#51
Cold Fusion? No, no... no.

> CFML. I really like programming in CFML (a programming language, “ColdFusion Markup Language,” as opposed to ColdFusion, a commercial CFML interpreter made by Adobe). I know it’s not "cool" like Node.js or Clojure or even RoR.

Doctors used to bleed people with leeches to get out the "bad humors". They stopped using that "tool" for a reason. It was a bad tool, and better "tools" came along.

Not only is CFML not cool, it is hard for most people not familiar with CFML to understand [1]. The syntax mixes in with HTML markup in such a way as to make it very difficult to distinguish the two apart. With a syntax highlighter your mind still has a hard time as there isn't enough of a difference to make a subconscious context switch easy. Also, the need to cram logic constructs into HTML/XML-like syntax makes for some screwed up code. My understanding is that you can put the attributes for the tags in any order, and that means that things you'd always expect (in other languages) to appear in a certain order, like conditions for statements, are instead a matter of style [2].

> It’s got an old vibe. Not just because it was the first made-for-web programming language (tho it’s modern & updated frequently), but because whenever I meet other CFML coders, they’re always old dudes.

My experience with CF developers is similar. This is not a good thing. This is nothing like the C and C++ graybeards you occasionally meet and develop immense respect for. These old CF developers are, in my anecdotal experience, the kind people that learned one type of development and stuck with it for a long, long time. They've not really improved their skill sets beyond what was popular practice when they first learned Cold Fusion. These are the kind of people (I kid you not) that think HTML tables are a great way to get your page layout just right.

Why did the OP take an entire blog post to say what could have been posted to Twitter ("you darn kids and your twittin'!")? The whole post boils down to what appears to be proud, willful ignorance.

A lot of "you're a developer, but you really should learn about business" stuff gets posted to HN. This case looks to be turned around and we have a business person doing double-duty as a developer. My advice is to learn something more current, and not because it's cool. More current technology has business value in that it's easier to find people who can work with/on it, and you will be able to find more of those kind of people for longer. The underlying tech will also (usually) be supported for longer, and by a wider range of companies. The reasons are too many to comprehensively list here.

I wasn't laughing at your back-end, by the way. It made me a little sad.

[1] http://www.quackit.com/coldfusion/coldfusion_tutorial.cfm

[2] http://www.quackit.com/coldfusion/tutorial/coldfusion_loops....

Re: Why must you laugh at my back end?

#52
post #9

This is great. Seriously. I cut my teeth in the early 2000s writing the type of PHP code that would make your eyes bleed. Global variables everywhere. HTML/PHP/MySQL in the same file. Career-wise I ended up going down a backend/database developer path, so if I do anything with consumer-facing web applications, it's on my free time. I'm working on such an app now, and right now the fastest way I can get anything done…

Use what works for you. For me, the main benefit of a framework is scalability of new developers. If you have to bring on someone else to extend & maintain your code, it's incredibly helpful to be able to point them to documentation.

For me, the main benefit of a framework is scalability of new developers.

That's one, and it's a big one.

The other, even bigger benefit is that other people will do things for you. They'll write plugins for you. They'll develop new versions of the framework for you. They'll do crazy experiments in corners of the framework design space ("Hey, can we make Drupal work with a CouchDB back end through a series of proxies?") and report the results in obscure Stack Overflow posts that will get indexed by Google. They'll find and fix bugs and security holes for you. When you ask one of them about some problem in your system, they'll have a fighting chance to give you useful advice -- even if they've never actually seen your system -- because, hey, all Rails apps are kind of alike, and all Drupal sites are kind of alike, and all node.js installations are kind of alike.

The fact that this is the major benefit of using a common framework is also the reason why the poor OP feels so lonely. The whole point of a common framework is to have lots of meetings and rallies and beer bashes and hackathons and IRC channels so that everyone can swap ideas and recruit each other and basically work in a big team. They generate their own buzz, because the buzz is part of the value. But hand-rolled personal systems don't get that kind of buzz, because -- to paraphrase the ever-paraphrasable Tolstoy -- all standard web frameworks are alike, but all nonstandard web frameworks are nonstandard in their own way.

Re: Why must you laugh at my back end?

#53
this stack is... interesting. but the real problem, i think, with what he's saying, is that it is basically "i refuse to learn anything new that is not tightly bound to what i already know".

it's true that the laughter is unnecessary, and the trends and hype can be obnoxious, but it is somewhat about the excitement of always learning new things and new ways to think.

Re: Why must you laugh at my back end?

#54
post #49

Earlier quoted context omitted.

Talking about the differences between, say, assembly language and Ruby is very different than arguing about what color is the best. I guarantee that some projects will be successful if written in one of those languages, and not the other (webapp in assembly? bootloader in Ruby?). Also, in your view, how is talking about data structures any better than talking about languages? Wouldn't that just be "indoctrinating me…

I think we was just trying to differentiate between advocating a particular technology versus discussing a fundamental idea. Using the examples that other people have given from hobbies and sports, it's like the inclination to discuss gear instead of the activity itself.

Discussing software tools as a programmer is nothing at all like discussing lenses on a camera. As far as I'm aware, there's no lens out there that can increase your productivity as a photographer by tenfold. Choosing Ruby over assembly language for a webapp could _easily_ increase your productivity by tenfold (probably more like a hundredfold).

Obviously not every software tool discussion is as exaggerated as that, but even if you're arguing Django vs Rails, there really are significant differences that could affect your work in dramatic ways (e.g. one framework has a plugin that would take you a week to write, while the other doesn't).

Re: Why must you laugh at my back end?

#55
post #51

Cold Fusion? No, no... no . > CFML. I really like programming in CFML (a programming language, “ColdFusion Markup Language,” as opposed to ColdFusion, a commercial CFML interpreter made by Adobe). I know it’s not "cool" like Node.js or Clojure or even RoR. Doctors used to bleed people with leeches to get out the "bad humors". They stopped using that "tool" for a reason. It was a bad tool , and better "tools" came alo…

Paraphrased:

> Some people write crappy code in CFML.

Yes. But people write crappy code in [your preferred language] too. There's nothing inherent in CFML that forces people to write bad or hard-to-understand code.

> OMG can you believe some people still use TABLES???

view source

Re: Why must you laugh at my back end?

#56

I don't hang out with a lot of programmers and I guess this is the reason. This "laughing" the op alludes to. This endless discussion of what language or back end is the best. I find it impossible to talk about programming with people who would rather indoctrinate me on the benefits of their chosen language than talk about, say, data structures. It's like arguing about what colour is the best. It's pointless. So big…

Talking about the differences between, say, assembly language and Ruby is very different than arguing about what color is the best. I guarantee that some projects will be successful if written in one of those languages, and not the other (webapp in assembly? bootloader in Ruby?). Also, in your view, how is talking about data structures any better than talking about languages? Wouldn't that just be "indoctrinating me…

I don't think you read me right. There's nothing wrong with debating the pros and cons of a language (or whatever else), but there's a difference between discussing and preaching. I'm always open to a nice chat, but I've got little patience for preachers. That's all I'm saying.

Re: Why must you laugh at my back end?

#57

In computing, there is an emphasis on the tools, rather than what you do with them. It's worth noting that it's not limited to computing either. Countless amateur photographers spend their time discussing hardware, rather than techniques and other aspects that would benefit their craft to a much greater extent. Personally, as much as I'm fascinated by the tools, I'm much more curious about what you do with them. So I…

I would extend this to just about anybody who could be considered a "geek". Photography, Programming, Writing, everything. There is so much discussion over tools and process that everyone forgets to actually make stuff.

Which reminds me, I should stop reading HN and get back to work.

Re: Why must you laugh at my back end?

#58
post #9

This is great. Seriously. I cut my teeth in the early 2000s writing the type of PHP code that would make your eyes bleed. Global variables everywhere. HTML/PHP/MySQL in the same file. Career-wise I ended up going down a backend/database developer path, so if I do anything with consumer-facing web applications, it's on my free time. I'm working on such an app now, and right now the fastest way I can get anything done…

My web app mockuptiger is exactly what you say html/jquery/php/mysql

look at wordpress, joomla, drupal

Re: Why must you laugh at my back end?

#60

I don't hang out with a lot of programmers and I guess this is the reason. This "laughing" the op alludes to. This endless discussion of what language or back end is the best. I find it impossible to talk about programming with people who would rather indoctrinate me on the benefits of their chosen language than talk about, say, data structures. It's like arguing about what colour is the best. It's pointless. So big…

It's like arguing about what colour is the best. It's pointless.

I have a theory that people act this way because of evolution.

--------------------

Imagine you live in a tribe of 10 people, and there are 5 different ways the entire tribe can use to hunt animals for food. All 10 people must hunt together, and each of the 5 ways are equally successful.

After an animal is killed, the tribe determines who was most responsible for the kill, and he/she gets to pick and eat the tastiest meat before anyone else. Others' still get to eat, but it doesn't taste as good.

If all 10 hunters are equally skilled, each will get tasty meat 10% of the time regardless of the hunting method. But humans are not all equally skilled. Some can throw spears better than others. Some can run fast. Some can sneak up quietly. Some can climb trees. Some can wrestle a wild bore.

So what happens? Before a hunt, if you're a fast runner, you say "Let's chase after an animal!" If you can climb trees, you say "No, let's drive an animal up a tree, and climb up to kill it!" You push for the option which gives you the best chance eating tasty meat, and do everything you can to stop any other hunting methods.

Things get political. Someone says; "Running after animals is too much work! Lets climb trees instead!" You say; "Bullshit! Climbing up trees is for pussies. Real hunters run after their food! Plus, we have to see your nasty balls every time you climb up!" You support your cause, and do everything you can to demonize and discredit other options.

Through politics, arguments and fights, you might be able to sway the majority opinion of your tribe in your favor. "Yeah, I guess I don't really like climbing trees either; I'm sick of seeing that guys balls too. Let's run instead!" Now, your entire tribe runs for food, and being the fastest runner, you get tasty meat more than 10% of the time.

--------------------

So my theory goes, when you see someone arguing about something pointless like Windows is better than Linux, even though both are pretty good, what they're really trying to do is sway the opinion of the entire world in their direction. If every company dropped Linux in support of Windows, there would be a lot of Linux sys-admins and programmers out of work. Sure, they could learn Windows, just like a slow runner could learn how to run fast, but they would be at a disadvantage compared to seasoned Windows admins.

The same thing happens with programming languages and APIs. These can be very volatile, going from extremely popular and hot, to nobody wants to touch them in a few years.

When you see someone arguing about what color is better, they're using the same algorithm, only it's firing on something seemingly trivial. But is is? Perhaps if you convince enough people that red is better than blue, the next Macbook Pro you want to buy will end up red instead of blue. Unlikely, but possible...

Post reply on HN