Since 1997, you should accurately refer to it as IBM/Lotus Domino.
An annoying email client, to be sure.
But the Domino project was a fork of Apache, with support of server-side JavaScript (as well as VB-Script variant) talking to an HTML based templating system. This allied to an embedded NoSQL database engine that's the ancestor of CouchBase, with a granular ACL system of authentication based on RSA keys.
A lot of the difference seems to be about outdated languages versus trendy languages. (Maybe the newer ones are better which is why they gain popularity).
For example, I personally see the power in git, but find it a pain in the arse to use other than for basic stuff. CVS was far simpler, and I never had much trouble with that back in the day. But git is pretty much the standard version control these days, and it doesn't make much sense to use the others.
Did they have a full spec, or implementation though? It's not like getting the folks at Github upset is very difficult or truly reflecting controversy. Everyone I know that's read the underlying research (there is literally a researcher looking into what a "feminist" programming language would be, though the main pull from the published work was "what does this mean?").
C+= was hounded off many other public git hosting services, and even a few days ago when one reappeared, is was hounded anew. Much hard feeling amongst the parodied.
But I'll be gracious enough to give Linus the final word :
I will, in fact, claim that the difference between a bad programmer and a good one is whether he considers his code or his data structures more important. Bad programmers worry about the code. Good programmers worry about data structures and their relationships.
That seemed pretty clear to me: a web app where the primary function is to let the user interact with (e.g. search in) a database. What else could it mean?
I think you're confusing Rob Pike with Dennis Ritchie. :) Pike has designed many languages, but C was not among them. I say this especially because Dennis Ritchie Day was just last week: http://radar.oreilly.com/2011/10/dennis-ritchie-day.html
No I'm not. Pike worked at developing the C language, especially on Plan 9. Plan 9 C has a few unique features added by Pike when Ritchie was his team leader at the labs and Stroustrup was there developing C++. Pike is not a fan of C++, E.g. "object oriented design the is Roman Numerals of computing"
You're both wrong. The graph the GP references is solely the top 12 most polarized. You need to go down one more char to get the opposite end (It includes asp.net but not C#).
Another interpretation, since these are voluntarily reported on a CV, is that the people citing OS X and Haskell are more likely to be trying to differentiate themselves. They want to be seen to "Think Different." In the likes column, they add a prestigious and difficult language or an OS associated with an exclusive brand. In the dislikes, they put items that are seen as mainstream.
Funny that jQuery is one of the most liked technologies/tools on SO given the hate it gets recently from the community.
I have a neutral stance on jQuery. I love some parts of the library like its Sizzle engine and the extended selectors it provides out of the box and on the other hand, there are parts that I dislike like animation (very quirky to my taste) but I can't really feel any disdain or negative emotions toward it because I am still well versed in JS/DOM API and I can really accomplish a lot of stuff in the absence of jQuery.
So, this animosity toward jQuery is but unfathomable to me.
Just my $0.02... I don't think there's anything wrong with jQuery, and these days it might be a smart choice to lightly augment a website, as opposed to powering a webapp.
I've inherited jQuery and Angular codebases on freelance jobs in recent years, and I can say for certain that I'd much rather inherit an Angular project than a jQuery one. You have a fighting chance that the logic will be segregated into the components you would expect, rather than spaghetti markup/js mashups with bits of event handling logic blurted all over the place. That is of course the worst case scenario for a bad jQuery project, but it's often the reality when you step into a messy codebase where a procession of people have hacked around for a short while and then departed.
I'm thinking in particular of a situation when a crappy, derelict jQuery plugin had been chucked into the project a while previously, and was triggering "stop script" prompts in certain versions of IE.
Fun to debug.
It's a framework/library thing. Angular is opinionated, but that's worked in my favour to date.
I'm not sure whether the distinction between sub-categories and their parents was treated correctly in this analysis. There is a huge gap between the popularity of HTML and HTML5, CSS and CSS3, and Javascript and its assorted heap of technologies.
My guess is that if you like HTML, you will mark yourself as liking both HTML and HTML5. However, it would be odd to like one and not the other, and pointless to dislike them both.
In that case, it might be more correct to count people who liked/disliked at least one of HTML or HTML5 as being HTML-positive/negative people, but I am not sure that this won't distort the data in some other way.
Based on personal observation and experience I would have predicted that dislikes are based on things we've been forced to use, and legacy technologies that have been a PITA for us to support.
That fit well with the results. Windows is disliked by Unix people because it is something we're often forced to use by the business. (By contrast Windows developers are rarely forced to use Unix.) Older technologies are more disliked because developers are more likely to have had to support legacy products using those technologies.
But I would have missed the "enterprise technologies suck" issue if I hadn't read the article.
Given that these are all people looking for a job, it's not surprising that the "likes" appear to be slanted towards things that commonly show up in job postings.
No it's good, you don't want to be bait-and-switched. So many job ads now say "Haskell/OCaml/Erlang..." But they're actually Java shops. Better to put the warning up front.
They are hiring for the new system they are trying to develop, and supporting the legacy code they can't get rid of. They are always overoptimistic on how much time will be spent on new vs old.
Because the situation around PHP has massively improved with PHP supporting real OO programming, huge performance gains and cutting cruft like register_globals and other insanities.
Probably because the haters never took the time to re-evaluate PHP.
I've written daemons, GUI programs (!) and even stuff like custom binary network protocols in PHP, in a fraction of the time it'd have needed in C/C++...
Sure, but PHP abstracts a load of stuff when you're doing cross-platform stuff - and what's more important, it allows you to keep one language (thus reusing codebase) when you're also doing stuff with web interfaces.
Neither Java, Ruby, Python nor anything else are as simple to setup and resource-friendly to run as a PHP-FCGI+nginx setup.
Um, I'm working on a PHP codebase at the moment. I hate the PHP standard library. It's awful and awkward, but my job is to make shit work, so I do, even if I hate every minute of it.
So much this. Plus, we have certified CentOS servers that are only allowed to run 5.4 for the next years to come. Not to mention that the syntax and stdlib are a nightmare.
Thank god, we convinced our bosses to rewrite our legacy systems in elixir, since ~10years of iterative php progress grinded to a halt with lasagna layers of spaghetti code of homegrown-everything. Unmaintainable now, but the feature request keep coming in, and will do for years to come.
Its funny, when I saw the title the first thing I thought of was "COBOL vs FORTRAN". I guess FORTRAN (as Fortran) did make it into business use, but I'm pretty sure COBOL never made the equivalent jump.
People like JSON? A format that forces spurious quotes, making it hard to read, as well as lacks comments, making it hard to document. Or do they mean as a pure transport format? In which case... Who "likes" these kind of things? I might have strong feelings about endianness (LE just doesn't feel natural) or stupid bases like 10, but a mediocre serialization format?
And it doesn't surprise me that Haskell users dislike thing. Once you use a superior language, you really realize how much things suck. People warn about this in jest: don't learn <fp lang> because you'll hate working in other languages. But it's quite real and true. After being in a high level language with a good type system, working in a "mainstream" language is like trying to explain stuff to a subpar 6-yr-old. It's just incredibly frustrating.
(Working with one customer that chose C for their large codebase due to performance... Except the incredible verbosity ended up hiding terrible algorithms, and the lack of abstraction means changing things is a huge undertaking. Or on C# projects, every 5 lines of code I write I realise how it'd only be one in F#. Or how a long-standing bug would not have been possible due to more sane compiler checks.)
I've used both. JSON's quotes everywhere make it annoying to type and read. Zero benefit, just silliness. The lack of comments is also a huge pain. No easy way to document config files. No easy way to cut out part of a message. Just stupid really.
XML's fatal mistake was requiring the name in the closing tag. Had they just used <> or </ or </> people wouldn't mind as much. Also ask the stupid external entity, DTD, and association with "enterprise" terrible designs. But JSON will get there over time. Already people are pushing the equivalent of XSD and WSDL because they are useful.
68 comments
[ 7.8 ms ] story [ 139 ms ] threadAn annoying email client, to be sure.
But the Domino project was a fork of Apache, with support of server-side JavaScript (as well as VB-Script variant) talking to an HTML based templating system. This allied to an embedded NoSQL database engine that's the ancestor of CouchBase, with a granular ACL system of authentication based on RSA keys.
So, totally uncool then. :-)
For example, I personally see the power in git, but find it a pain in the arse to use other than for basic stuff. CVS was far simpler, and I never had much trouble with that back in the day. But git is pretty much the standard version control these days, and it doesn't make much sense to use the others.
Pike vs Stroustrup
But I'll be gracious enough to give Linus the final word :
I will, in fact, claim that the difference between a bad programmer and a good one is whether he considers his code or his data structures more important. Bad programmers worry about the code. Good programmers worry about data structures and their relationships.
I know it's not really a solid principle, but I think it's funny regardless.
I have a neutral stance on jQuery. I love some parts of the library like its Sizzle engine and the extended selectors it provides out of the box and on the other hand, there are parts that I dislike like animation (very quirky to my taste) but I can't really feel any disdain or negative emotions toward it because I am still well versed in JS/DOM API and I can really accomplish a lot of stuff in the absence of jQuery.
So, this animosity toward jQuery is but unfathomable to me.
I've inherited jQuery and Angular codebases on freelance jobs in recent years, and I can say for certain that I'd much rather inherit an Angular project than a jQuery one. You have a fighting chance that the logic will be segregated into the components you would expect, rather than spaghetti markup/js mashups with bits of event handling logic blurted all over the place. That is of course the worst case scenario for a bad jQuery project, but it's often the reality when you step into a messy codebase where a procession of people have hacked around for a short while and then departed. I'm thinking in particular of a situation when a crappy, derelict jQuery plugin had been chucked into the project a while previously, and was triggering "stop script" prompts in certain versions of IE. Fun to debug.
It's a framework/library thing. Angular is opinionated, but that's worked in my favour to date.
My guess is that if you like HTML, you will mark yourself as liking both HTML and HTML5. However, it would be odd to like one and not the other, and pointless to dislike them both.
In that case, it might be more correct to count people who liked/disliked at least one of HTML or HTML5 as being HTML-positive/negative people, but I am not sure that this won't distort the data in some other way.
That fit well with the results. Windows is disliked by Unix people because it is something we're often forced to use by the business. (By contrast Windows developers are rarely forced to use Unix.) Older technologies are more disliked because developers are more likely to have had to support legacy products using those technologies.
But I would have missed the "enterprise technologies suck" issue if I hadn't read the article.
Analyzing the main Stack Overflow site would be more useful. You go to Stack Overflow when something doesn't work.
Why would they do that?
"What do you mean it's not real object oriented programming? PHP5 has been out for TEN YEARS."
I've written daemons, GUI programs (!) and even stuff like custom binary network protocols in PHP, in a fraction of the time it'd have needed in C/C++...
Neither Java, Ruby, Python nor anything else are as simple to setup and resource-friendly to run as a PHP-FCGI+nginx setup.
Thank god, we convinced our bosses to rewrite our legacy systems in elixir, since ~10years of iterative php progress grinded to a halt with lasagna layers of spaghetti code of homegrown-everything. Unmaintainable now, but the feature request keep coming in, and will do for years to come.
And it doesn't surprise me that Haskell users dislike thing. Once you use a superior language, you really realize how much things suck. People warn about this in jest: don't learn <fp lang> because you'll hate working in other languages. But it's quite real and true. After being in a high level language with a good type system, working in a "mainstream" language is like trying to explain stuff to a subpar 6-yr-old. It's just incredibly frustrating.
(Working with one customer that chose C for their large codebase due to performance... Except the incredible verbosity ended up hiding terrible algorithms, and the lack of abstraction means changing things is a huge undertaking. Or on C# projects, every 5 lines of code I write I realise how it'd only be one in F#. Or how a long-standing bug would not have been possible due to more sane compiler checks.)
XML's fatal mistake was requiring the name in the closing tag. Had they just used <> or </ or </> people wouldn't mind as much. Also ask the stupid external entity, DTD, and association with "enterprise" terrible designs. But JSON will get there over time. Already people are pushing the equivalent of XSD and WSDL because they are useful.