That's why real-world developers, after getting screwed by companies like Sun, decided to rely increasingly on open source software, because in the long run, it gets the job done more predictably and with less risk.
There is a world of difference between the spec defining a language being an open standard, and the reference implementation being Open Source. The former is what guarantees the security, because it means multiple implementations are possible. The latter might be convenient, but ultimately relying on a single-implementation programming language is risky anyway, whether or not you've got the source.
Please don't turn an important point about future-proofing into an exercise in OSS evangelism. Many mainstream languages have been operating on the open standard principle since before the GPL was a glint in Stallman's eye.
If history is anything to go by, then probably Opera will. Sometimes, you do get what you pay for, and while Firefox is a great improvement over IE in many respects, it's been trailing Opera for several years IMHO.
Reading TFA, I wouldn't use words like zealotry or fanaticism to describe either the article or the attitude of the Java programmers it seems to be aimed at. What I do see, though, is a terribly narrow-minded view of programming, and an obvious lack of broader experience. Let's take a few choice quotes.
From the About this series box, before we even get to the article itself:
In the Crossing borders series, author Bruce Tate advances the notion that today's Java programmers are well served by learning other approaches and languages. The programming landscape has changed since Java technology was the obvious best choice for all development projects.
Surely most of us would agree that any programmer is well-served by familiarity with a variety of languages, programming styles and tools, and by choosing the most appropriate for any given job. Which, despite the absurd claim above, has never been Java in all, or even most, cases.
From the "Hype and skepticism" section:
Rails proponents boast of incredible productivity, with some claims of 10 to 1 over Java development. As a Java programmer, your knee-jerk response is to dismiss any wild productivity claims because you've likely heard them before and been disappointed.
No-one who's looked into a wide range of programming languages (and I don't mean Java, C++, C# and Visual Basic.Net) would find those claims particularly surprising or implausible. The functional programming world has been outclassing workhorse industrial languages like C++, Delphi, Java and co. in productivity by an order of magnitude for a long time, at least for the kind of application that lends itself to a functional style. So-called scripting languages, which cut away much of the boilerplate baggage required by the workhorses, have proven to be a much more efficient tool for many kinds of project as well, often due to relatively simple features like supporting common data structures as first-class entities.
Moving on to the Rails philosophies, we see things like "Don't Repeat Yourself" being highlighted as "core opinions pervasive within Rails". Surely abstracting common code and data structures into reusable units is a basic principle of sound programming in pretty much any language?
Then we get to the "niche" for Rails:
I'd guess that as many as half of the applications built today are database-backed, Web-enabled applications.
I'd guess that's wildly optimistic, though it's certainly a common conceit among Java programmers IME. Not everything in the programming world is web-enabled, and much of it has no interest in becoming so either. Why would a high-performance scientific application, a CAD/CAM/CAE package, a FPS or the firmware in your washing machine care about database-backing and Web-enabling?
All-in-all, this seems to be an article aimed at die-hard Java programmers with little experience of the wider programming world. Its arguments support wider exposure to programming and good general programming principles, though it forgets to mention that Ruby on Rails is far from the only way of achieving those ends.
Even though you have a higher chance of dying from car accidents (why don't we ban all cars?), people are scared shitless of terrorists.
And I wonder why that is.
Is it the outrages that have been perpetrated and the thousands who've died?
Or is it the governments of the West hyping it out of all proportion?
How much must we spend on ultimately futile "anti-terror" measures, that can never protect everything anyway? How many better causes (health, education, the environment, world hunger...) must lose out on time and money because of misguided priorities? How many people must die as a result? How many people must suffer the inevitable consequences of losing their civil liberties combined with government incompetence?
The whole anti-terror thing is a big sham and a big mistake, caused purely by power-grabbing governments and a public that doesn't bother to think and votes by sound-bite.
FWIW, your body text is almost unreadable on my screen (a good 19" CRT at 1280x960). You need a different body font.
Your design has too many boxes that don't add anything for my taste, particularly in terms of the menus. All those coloured areas mentally divide the page into blocks, even if there are no explicit borders there, and in your case, many of them are empty, which means the shading is just clutter.
Slashdot currently uses your default font. If that's serif, you get serif. Personally, mine's set to a nice sans.
Your comments about readability are highly debatable. The screen is not the printed page, and most (though not all) studies have concluded that clean, sans serif fonts are significantly easier to read on-screen.
That argument would be bullet-proof, if only it actually was the viewer's choice. For the vast majority of web surfers*, the font size is the (usually rather large) default that their browser came configured with, which is why the vast majority of most visited web sites select a text size somewhat smaller by default.
Of course, this is a bit of a pain for those of us who do deliberately set our browser's default text size, but as long as the web site specifies its text size in some relative unit rather than an absolute pixel size or similar, we can easily adjust. This flexibility is far more important than sticking to a 100% default, and it's a rare design that has a worthy reason not to offer it.
*I realise that Slashdot's readership is not typical in this respect, and your argument may be more valid here than it would be for, say, Amazon or the BBC.
I never would have bought the redux trilogy if I'd believed this was coming.
Probably neither would I. But since I did, they won't get any more money out of me now. Sorry, I loved the originals as a kid, but for the same money I could have a box set of the latest series of 24, Lost, Battlestar Galactica, or a few other series of similar quality that have come out over the past couple of years. (OK, none of the above actually have their latest series out on DVD yet, but they will shortly.)
It just isn't going to happen at this point in the development cycle.
Well, assuming you're on the inside and know that as a fact, we'll have to take your word for it. Even so, I'll still bet that either the release gets delayed or the first patch includes the option. There are just too many cautious people in the business world who are going to hesitate over something that looks so different, regardless of any actual usability and training implications.
LaTeX is essentially a start-to-finish system, while DocBook is essentially an XML schema and needs supporting tools to be useful;
LaTeX is fully programmable (if you're sufficiently versed in the black arts), while DocBook only encodes structure;
LaTeX is readily extensible, while if you extend DocBook it isn't DocBook any more;
LaTeX's text is quite readable, even when special characters, maths, and the like are involved, while DocBook lays the mark-up on so thick that the underlying text would become almost unrecognisable with heavy formatting.
Ultimately, DocBook is always going to work best as a storage format for an authoring application, rather than as something entered directly by humans. LaTeX's power comes, in no small part, from the fact that you can just "type and go".
As you imply, the problem with Word is that it's a bit too clever for its own good. I can live without autocorrecting (c) in mid-sentence to a copyright symbol, and not knowing the difference between typographer's dashes, thank you. Compare and contrast with something like (La)TeX or something (X)HTML-based, where it's still trivial to use these characters, but they only change when you explicitly ask for it.
I care about ligatures, kerning, spaces, etc. However, you should now by this time that in the windows world, most of these are features of the OpenType fonts not the word processor. If a font has got ligatures, even in notpad you get it right.
That simply isn't true, as readily verified on my WinXP SP2 system with several professional-grade fonts installed.
Right now, pretty much the only Windows-based applications that make a serious attempt to support the power of OpenType are the major design/graphics programs from Adobe, InDesign and friends. Notepad can't even render unmodified Zapfino properly (nor, for that matter, can OpenOffice Writer) and automatic glyph substitution seems to be completely absent in any form, even standard ligatures.
OpenOffice 2.0 has a very nice pdf export function.
It's nice that OpenOffice 2 has a PDF export function, but that's a different statement entirely. Alas, the function itself is limited and buggy when put to serious use. For example, it chokes on some professional-grade OpenType fonts, resulting in incorrect fonts being used in the output PDF. It also has very limited control if you're creating documents in OpenOffice that are then sent to a professional print shop. In other words, as a tool for outputting portable documents, it's not bad, but it still has major limitations compared to what a decent DTP app would offer.
I'm less concerned about "highlights" like drop caps than I am about the basics: choosing co-ordinating fonts; choosing the spacing for things like margins, leading, and associating headings with the following text; using correct punctuation; and other design decisions that directly affect the entire text of a document.
This sort of detail isn't just important because it can make a document look pretty, though of course that has its advantages. A well-typeset document will also be be read significantly faster, and with better understanding, than a poorly-typeset one.
It doesn't help that the people who defined the default styles in Word apparently didn't understand basic typography and page layout principles themselves, hence the hideous heading formatting and so on. I find it a wonderful irony that the default formatting for articles in LaTeX was only ever supposed to be an example of what could be achieved, yet still blows away the defaults in many stupidly expensive WP and DTP applications.
Although to be fair, recent editions of MikTeX have a good system for automatically detecting missing packages and the like, and then tracking them down at your local CTAN site, downloading them, and installing them automatically. I don't know how clever it is, but it's certainly helped me out several times (not that the MikTeX Package Manager is particularly difficult to use manually, anyway).
There's a big hole here; there seem to be very few applications that provide this kind of thing, I suspect because it's Really Hard. It doesn't mean I don't still want one, though... any suggestions?
I've wondered the same thing for a while. As a programmer, it doesn't strike me as particularly hard to represent some sort of structured/nested style information, but it certainly is different to how all WP/DTP software works today AFAIK.
I find it a great irony that HTML/CSS is pretty poor as far as decent typography goes, yet provides the one key stylesheet feature that classical WP/DTP software all lacks.
Here's an idea: don't stay in a stupidly stressful job in the first place. Really, there's plenty of good employers out there, particularly when the market is growing as it is today. The only reason to prop up bad employers with your hard-earned skill and expertise is laziness. If you don't have the skill and expertise to make this choice, perhaps (quite sincerely) you're in the wrong line of work, and be better investing your time in gaining experience or useful qualifications in another field.
Except that in our industry, the only hourly positions are contract jobs. It would be quite amusing to see the big names fall like dominos if all the good guys did turn contractor overnight, and suddenly charge what they were actually worth to the company rather than what was offered when they signed up, but for now, the "market forces" make this unlikely.
That doesn't mean that the practice of saying someone's on salary and so should work unlimited hours is ethical. Indeed, many countries have laws that outright ban the practice, because the only people who think it's a good idea are incompetent managers.
There is a world of difference between the spec defining a language being an open standard, and the reference implementation being Open Source. The former is what guarantees the security, because it means multiple implementations are possible. The latter might be convenient, but ultimately relying on a single-implementation programming language is risky anyway, whether or not you've got the source.
Please don't turn an important point about future-proofing into an exercise in OSS evangelism. Many mainstream languages have been operating on the open standard principle since before the GPL was a glint in Stallman's eye.
If history is anything to go by, then probably Opera will. Sometimes, you do get what you pay for, and while Firefox is a great improvement over IE in many respects, it's been trailing Opera for several years IMHO.
Reading TFA, I wouldn't use words like zealotry or fanaticism to describe either the article or the attitude of the Java programmers it seems to be aimed at. What I do see, though, is a terribly narrow-minded view of programming, and an obvious lack of broader experience. Let's take a few choice quotes.
From the About this series box, before we even get to the article itself:
Surely most of us would agree that any programmer is well-served by familiarity with a variety of languages, programming styles and tools, and by choosing the most appropriate for any given job. Which, despite the absurd claim above, has never been Java in all, or even most, cases.
From the "Hype and skepticism" section:
No-one who's looked into a wide range of programming languages (and I don't mean Java, C++, C# and Visual Basic.Net) would find those claims particularly surprising or implausible. The functional programming world has been outclassing workhorse industrial languages like C++, Delphi, Java and co. in productivity by an order of magnitude for a long time, at least for the kind of application that lends itself to a functional style. So-called scripting languages, which cut away much of the boilerplate baggage required by the workhorses, have proven to be a much more efficient tool for many kinds of project as well, often due to relatively simple features like supporting common data structures as first-class entities.
Moving on to the Rails philosophies, we see things like "Don't Repeat Yourself" being highlighted as "core opinions pervasive within Rails". Surely abstracting common code and data structures into reusable units is a basic principle of sound programming in pretty much any language?
Then we get to the "niche" for Rails:
I'd guess that's wildly optimistic, though it's certainly a common conceit among Java programmers IME. Not everything in the programming world is web-enabled, and much of it has no interest in becoming so either. Why would a high-performance scientific application, a CAD/CAM/CAE package, a FPS or the firmware in your washing machine care about database-backing and Web-enabling?
All-in-all, this seems to be an article aimed at die-hard Java programmers with little experience of the wider programming world. Its arguments support wider exposure to programming and good general programming principles, though it forgets to mention that Ruby on Rails is far from the only way of achieving those ends.
And I wonder why that is.
Is it the outrages that have been perpetrated and the thousands who've died?
Or is it the governments of the West hyping it out of all proportion?
How much must we spend on ultimately futile "anti-terror" measures, that can never protect everything anyway? How many better causes (health, education, the environment, world hunger...) must lose out on time and money because of misguided priorities? How many people must die as a result? How many people must suffer the inevitable consequences of losing their civil liberties combined with government incompetence?
The whole anti-terror thing is a big sham and a big mistake, caused purely by power-grabbing governments and a public that doesn't bother to think and votes by sound-bite.
FWIW, your body text is almost unreadable on my screen (a good 19" CRT at 1280x960). You need a different body font.
Your design has too many boxes that don't add anything for my taste, particularly in terms of the menus. All those coloured areas mentally divide the page into blocks, even if there are no explicit borders there, and in your case, many of them are empty, which means the shading is just clutter.
Assuming you're not joking, it's the font used for the "Slashdot" logo on the top-left of each page.
Two comments:
Do you really want a design by CowboyNeal? ;-)
That argument would be bullet-proof, if only it actually was the viewer's choice. For the vast majority of web surfers*, the font size is the (usually rather large) default that their browser came configured with, which is why the vast majority of most visited web sites select a text size somewhat smaller by default.
Of course, this is a bit of a pain for those of us who do deliberately set our browser's default text size, but as long as the web site specifies its text size in some relative unit rather than an absolute pixel size or similar, we can easily adjust. This flexibility is far more important than sticking to a 100% default, and it's a rare design that has a worthy reason not to offer it.
*I realise that Slashdot's readership is not typical in this respect, and your argument may be more valid here than it would be for, say, Amazon or the BBC.
Which is odd, because I can't see any TNR on my screen at all as I sit here and read it.
Of course, my browser's default font is configured to be Verdana...
Probably neither would I. But since I did, they won't get any more money out of me now. Sorry, I loved the originals as a kid, but for the same money I could have a box set of the latest series of 24, Lost, Battlestar Galactica, or a few other series of similar quality that have come out over the past couple of years. (OK, none of the above actually have their latest series out on DVD yet, but they will shortly.)
Well, assuming you're on the inside and know that as a fact, we'll have to take your word for it. Even so, I'll still bet that either the release gets delayed or the first patch includes the option. There are just too many cautious people in the business world who are going to hesitate over something that looks so different, regardless of any actual usability and training implications.
Among the major differences are that:
Ultimately, DocBook is always going to work best as a storage format for an authoring application, rather than as something entered directly by humans. LaTeX's power comes, in no small part, from the fact that you can just "type and go".
As you imply, the problem with Word is that it's a bit too clever for its own good. I can live without autocorrecting (c) in mid-sentence to a copyright symbol, and not knowing the difference between typographer's dashes, thank you. Compare and contrast with something like (La)TeX or something (X)HTML-based, where it's still trivial to use these characters, but they only change when you explicitly ask for it.
That simply isn't true, as readily verified on my WinXP SP2 system with several professional-grade fonts installed.
Right now, pretty much the only Windows-based applications that make a serious attempt to support the power of OpenType are the major design/graphics programs from Adobe, InDesign and friends. Notepad can't even render unmodified Zapfino properly (nor, for that matter, can OpenOffice Writer) and automatic glyph substitution seems to be completely absent in any form, even standard ligatures.
I'll bet you there is before it ships...
It's nice that OpenOffice 2 has a PDF export function, but that's a different statement entirely. Alas, the function itself is limited and buggy when put to serious use. For example, it chokes on some professional-grade OpenType fonts, resulting in incorrect fonts being used in the output PDF. It also has very limited control if you're creating documents in OpenOffice that are then sent to a professional print shop. In other words, as a tool for outputting portable documents, it's not bad, but it still has major limitations compared to what a decent DTP app would offer.
Only joking! :-)
(BTW, the space is advisory in some contexts - e.g., when serving XHTML as HTML - but not required for XML in general.)
No, like what LaTeX would be if we did it again today, learning from what worked and what didn't for the past few years.
I'm less concerned about "highlights" like drop caps than I am about the basics: choosing co-ordinating fonts; choosing the spacing for things like margins, leading, and associating headings with the following text; using correct punctuation; and other design decisions that directly affect the entire text of a document.
This sort of detail isn't just important because it can make a document look pretty, though of course that has its advantages. A well-typeset document will also be be read significantly faster, and with better understanding, than a poorly-typeset one.
It doesn't help that the people who defined the default styles in Word apparently didn't understand basic typography and page layout principles themselves, hence the hideous heading formatting and so on. I find it a wonderful irony that the default formatting for articles in LaTeX was only ever supposed to be an example of what could be achieved, yet still blows away the defaults in many stupidly expensive WP and DTP applications.
Although to be fair, recent editions of MikTeX have a good system for automatically detecting missing packages and the like, and then tracking them down at your local CTAN site, downloading them, and installing them automatically. I don't know how clever it is, but it's certainly helped me out several times (not that the MikTeX Package Manager is particularly difficult to use manually, anyway).
<resist urge="mock person who understands correct punctuation and typography, yet doesn't use capital letters"/> :-)
I've wondered the same thing for a while. As a programmer, it doesn't strike me as particularly hard to represent some sort of structured/nested style information, but it certainly is different to how all WP/DTP software works today AFAIK.
I find it a great irony that HTML/CSS is pretty poor as far as decent typography goes, yet provides the one key stylesheet feature that classical WP/DTP software all lacks.
Here's an idea: don't stay in a stupidly stressful job in the first place. Really, there's plenty of good employers out there, particularly when the market is growing as it is today. The only reason to prop up bad employers with your hard-earned skill and expertise is laziness. If you don't have the skill and expertise to make this choice, perhaps (quite sincerely) you're in the wrong line of work, and be better investing your time in gaining experience or useful qualifications in another field.
Except that in our industry, the only hourly positions are contract jobs. It would be quite amusing to see the big names fall like dominos if all the good guys did turn contractor overnight, and suddenly charge what they were actually worth to the company rather than what was offered when they signed up, but for now, the "market forces" make this unlikely.
That doesn't mean that the practice of saying someone's on salary and so should work unlimited hours is ethical. Indeed, many countries have laws that outright ban the practice, because the only people who think it's a good idea are incompetent managers.