Like many Python evangelists, you seem to have a remarkably limited experience of computer languages.
Here's a language with no braces:
IF condition THEN
statement1 ELSE
statement2 ENDIF
Here's another:
(cond (condition statement1)
(t statement2))
Here's another:
if condition then begin
statement1; end else begin
statement2; end;
Here's another:
if condition then
value1 else
value2
or, more extensibly,
match condition with
| true -> value1
| false -> value2
And the list goes on. Maybe you should try learning some other languages. Broaden your mind a bit. There's a lot out there that isn't Python or C/C++/Java. Some of it is quite interesting.
Who said anything about needing to have the whitespace indicate that? We're talking about personal taste, not necessity.
sizeof is a different case entirely, since it behaves like a function. if does not behave like a function -- you can't write foo(if(bar), if(baz));, while you certainly can write foo(sizeof(bar), sizeof(baz));. It's nice to preserve that distinction.
The syntax highlighting, presence of braces and presence of an extra level of indentation on the next line don't cover it?
What syntax highlighting, presence of braces, and presence of extra level of indentation? You may not have any of those. Better to request that coders include all possible distinguishing factors -- that way, if some idiot writes bad code like the following hideous example, you're still in with a chance of understanding it:
white(bar(x--)); while (bar(x--)); whale(bar(x--));
Maybe the way you code, you never have a line that is so long that it needs to be broken. In most C code I've seen (and all C++ or Java code) a lot of lines exceed the 80-column width
Wait, hold it right there. 80 column lines made sense back in the days when you were punching code into 80-column cards. Welcome to the 21st century, where things have changed slightly.
I have dual 24" widescreens: under what conceivable circumstances does it make sense for me to restrict my code to 80 columns? It's not like any of my colleagues are using character terminals. Some of them have even more screen space than I do.
You then can't clearly distinguish between the start of a block and a wrapped line without clearly inspecting the indenting.
Maybe you should get a better editor. Mine certainly makes it easy enough to tell when a line is wrapping.
Uses less vertical space and saves a whole pair of braces. What's not to like?
(Actually I'm in the "{ on same line, } on own line" school, because God told me in a dream that that's the only formatting style He approves of, and those who do anything different will burn for all eternity in Hell with all the wicked users of vi.)
Entirely without reference to speed limits: if you're driving so fast that you couldn't handle a pink box around a road sign, then you're driving faster than you're capable of driving, and you should stop being an idiot and slow the fuck down before you kill someone.
It's still the "chicken or egg" problem: what compiled your C interpreter?
Do, please, share your magical malicious insert that is actually capable of recognising when the compiler is being used to compile a C interpreter, and then crafting a new malicious insert -- tailor-made for that C interpreter that didn't even exist when the original hacker wrote his malicious insert -- that will add the original malicious insert into any compiler binaries that the C interpreter is used to build.
Frankly, if anyone is capable of producing such a thing, they wouldn't bother trying to pwn computers, because they would be too busy being world-famous for developing the first true AI.
Well, you can save yourself quite a bit of time by combining the downloading and untarring in one streamlined step:
wget -O- $URL | tar xz
(Some non-GNU tars require "| tar xzf -" instead, or even "| gunzip | tar xf -".)
Which brings me to another question: why the heck does everyone include the "v" in their tar invocations? Are you that obsessed with watching the contents of the file scroll past your eyes, cluttering up your terminal and actually slowing down the untarring process measurably with all that pointless I/O? Or do people just cargo-cultishly copy everyone else without the faintest understanding of what those letters mean?
Also, those who prefer emacs can still use vi with vile, so vi is a more flexible choice than emacs for the company
Um, no.
viper-mode is a vi emulator within emacs: it means that vi users can press all the buttons they're used to using in vi, and they'll do the right thing.
vile is a version of vi that includes some emacs features, but it is fundamentally aimed at vi users, and specifically does not adopt the emacs keyboard layout.
You're only looking at the choice of technology, though.
I think we'd all agree that letting developers have totally free choice of the underlying techologies is a bad idea, though it's probably not appropriate to insist on one single technology, because that just won't work unless your company has a very narrow focus -- there is no single technology that is a good choice for both web apps and number crunching! But, yes, of course it makes sense to draw a line around maybe two or three languages, and say: you will use one of these, unless you have a very strong business case.
The same goes for a lot of other things that impact on multiple developers, such as source control, build systems, etc -- only more so, since in these cases a single technology will probably suffice.
However, there are cases where standardisation is not appropriate. For example, I can not conceive of any possible justification for forcing all your developers to use the same code editor. (You might reasonably decide not to support non-standard editors, and to encourage the use of a single environment, but mandating one would not provide any obvious business benefit.)
So when someone runs a red light and broadsides you
I've heard some pretty shocking stories about the standard of American driving, but is it really so bad that this happens frequently? I can't think of the last time I even saw someone run a red light, let alone drive straight into the side of someone.
$150 so you can ALT-TAB instead of CTRL-TAB? Yikes.
It's a bit more than that. Now that people increasingly use dual or widescreen monitors, exclusive MDI is becoming more trouble than it's worth. What if I want to have three documents visible at once? Some MDI implementations will let me do it by making the parent window really big and then de-maximising the documents inside it, but then I can't mix and match windows between applications. It's inconvenient.
Optional MDI, as in an application that lets me separate or combine windows as I see fit, is nice, but the old-style Office approach is horrible.
Um, no. LaTeX is indeed a powerful tool, but it's designed for making great-looking books and technical articles. It's not the perfect solution for every job, and resumes are one of the things it doesn't do brilliantly.
Okay, so the copyright industry bodies will simply claim that the entire network exists primarily for the purpose of copyright infringement, that everyone participating in it is fully aware of that fact, and therefore that you are committing some offense by running software that you know is going to be used by other people to infringe copyright.
(IANAL, so I don't know what kinds of laws would cover this -- conspiracy? -- but we all know how inventive the copyright industry's lawyers are!)
I had a quick go with 280Slides. The interface was impressively slick.
Then I tried to enter some non-English text, and it totally freaked out on me. When I pressed the keyboard combination to switch input methods, 280slides inserted three capital 'A's with acute accents. When I tried to type a simple Japanese phrase, 280slides inserted a single lower-case 'a' with a little circle over it.
This is the 21st century. We live in an increasingly globalised world. Applications that can't handle Unicode and multiple input methods have no place in this day and age. Back to the drawing board, guys, and don't come back till your nice slick interface has some basic i18n features, please.
Has anyone figured out what the point of these checks is yet? It's as stupid as those COPPA checks every phpBB has these days. Just a pointless waste of time that doesn't even look like an effective way of "protecting" children.
The day the Stormtroopers come knocking at your door, you'll wish you had a gun.
What stormtroopers?
Unlike some people, I happen not to be paranoid about government. I believe in democracy, not conspiracy. And I believe that the rule of law will ensure my freedom. I don't believe that there's any realistic prospect of a tyrannical government sending stormtroopers after me.
Even if they did, however, I would rather live in a gulag than die in a hail of bullets, so I still don't see the point of owning a gun on that basis.
Gun ownership has many uses. Hunting is one. Sport is another. Personal protection is a third. Heck, some people just like to own guns for the sake of it, and that's fine by me if they do it responsibly. Overthrowing a tyrannical government, though? Don't be ridiculous.
They were willing to get themselves killed to be free of British rule.
Don't think George W. Bush and a few hundred terror suspects at Gitmo. Think Stalin's gulags and Hitler's gestapo.
So, um, exactly which part of British rule are you saying was comparable to Stalin's gulags and Hitler's Gestapo? The Boston Massacre (total fatalities: 5)? Taxation without representation is bad, I'm sure we all agree -- bad enough to justify the desire for independence -- but it's hardly on a par with the Holocaust.
All those places are a long way from home. The rebels know the land while the US army doesn't, and the rebels have massive popular support while the US army doesn't.
It's a very different scenario from a hypothetical military action within the USA, in which it's very likely that the majority of the population would believe that the rebels were traitors. The best you could hope for would be for a significant portion of the army to refuse to take up arms against fellow Americans. However, I doubt they'd go so far as to join the rebels and take up arms against their own military comrades either.
The first the comes to mind is the American Revolution, maybe you have heard about it.
That was not a case of armed locals resisting a military force. That was a case of a regular army, assisted by not just one but two foreign nations, resisting a military force.
Like many Python evangelists, you seem to have a remarkably limited experience of computer languages.
Here's a language with no braces:
Here's another:
Here's another:
Here's another:
or, more extensibly,
And the list goes on. Maybe you should try learning some other languages. Broaden your mind a bit. There's a lot out there that isn't Python or C/C++/Java. Some of it is quite interesting.
Who said anything about needing to have the whitespace indicate that? We're talking about personal taste, not necessity.
sizeof is a different case entirely, since it behaves like a function. if does not behave like a function -- you can't write foo(if(bar), if(baz));, while you certainly can write foo(sizeof(bar), sizeof(baz));. It's nice to preserve that distinction.
What syntax highlighting, presence of braces, and presence of extra level of indentation? You may not have any of those. Better to request that coders include all possible distinguishing factors -- that way, if some idiot writes bad code like the following hideous example, you're still in with a chance of understanding it:
Wait, hold it right there. 80 column lines made sense back in the days when you were punching code into 80-column cards. Welcome to the 21st century, where things have changed slightly.
I have dual 24" widescreens: under what conceivable circumstances does it make sense for me to restrict my code to 80 columns? It's not like any of my colleagues are using character terminals. Some of them have even more screen space than I do.
Maybe you should get a better editor. Mine certainly makes it easy enough to tell when a line is wrapping.
But that's so wasteful!
Try:
Uses less vertical space and saves a whole pair of braces. What's not to like?
(Actually I'm in the "{ on same line, } on own line" school, because God told me in a dream that that's the only formatting style He approves of, and those who do anything different will burn for all eternity in Hell with all the wicked users of vi.)
Duh, you so need to learn about this little thing called structured programming, which can totally help cut down on code duplication like that crap.
Here's a hint:
See? Much easier to understand than your spaghetti code, and much more maintainable too.
Entirely without reference to speed limits: if you're driving so fast that you couldn't handle a pink box around a road sign, then you're driving faster than you're capable of driving, and you should stop being an idiot and slow the fuck down before you kill someone.
Do, please, share your magical malicious insert that is actually capable of recognising when the compiler is being used to compile a C interpreter, and then crafting a new malicious insert -- tailor-made for that C interpreter that didn't even exist when the original hacker wrote his malicious insert -- that will add the original malicious insert into any compiler binaries that the C interpreter is used to build.
Frankly, if anyone is capable of producing such a thing, they wouldn't bother trying to pwn computers, because they would be too busy being world-famous for developing the first true AI.
Well, you can save yourself quite a bit of time by combining the downloading and untarring in one streamlined step:
(Some non-GNU tars require "| tar xzf -" instead, or even "| gunzip | tar xf -".)
Which brings me to another question: why the heck does everyone include the "v" in their tar invocations? Are you that obsessed with watching the contents of the file scroll past your eyes, cluttering up your terminal and actually slowing down the untarring process measurably with all that pointless I/O? Or do people just cargo-cultishly copy everyone else without the faintest understanding of what those letters mean?
Re-entrant parsers.
Um, no.
viper-mode is a vi emulator within emacs: it means that vi users can press all the buttons they're used to using in vi, and they'll do the right thing.
vile is a version of vi that includes some emacs features, but it is fundamentally aimed at vi users, and specifically does not adopt the emacs keyboard layout.
You're only looking at the choice of technology, though.
I think we'd all agree that letting developers have totally free choice of the underlying techologies is a bad idea, though it's probably not appropriate to insist on one single technology, because that just won't work unless your company has a very narrow focus -- there is no single technology that is a good choice for both web apps and number crunching! But, yes, of course it makes sense to draw a line around maybe two or three languages, and say: you will use one of these, unless you have a very strong business case.
The same goes for a lot of other things that impact on multiple developers, such as source control, build systems, etc -- only more so, since in these cases a single technology will probably suffice.
However, there are cases where standardisation is not appropriate. For example, I can not conceive of any possible justification for forcing all your developers to use the same code editor. (You might reasonably decide not to support non-standard editors, and to encourage the use of a single environment, but mandating one would not provide any obvious business benefit.)
Hell, even the Microsoft-loving fanatics who think X11 is the Mark of the Beast should at least have heard of Citrix.
I've heard some pretty shocking stories about the standard of American driving, but is it really so bad that this happens frequently? I can't think of the last time I even saw someone run a red light, let alone drive straight into the side of someone.
True, but OOo doesn't lull you into a false sense of security by pretending that it's checked your grammar.
It's a bit more than that. Now that people increasingly use dual or widescreen monitors, exclusive MDI is becoming more trouble than it's worth. What if I want to have three documents visible at once? Some MDI implementations will let me do it by making the parent window really big and then de-maximising the documents inside it, but then I can't mix and match windows between applications. It's inconvenient.
Optional MDI, as in an application that lets me separate or combine windows as I see fit, is nice, but the old-style Office approach is horrible.
Um, no. LaTeX is indeed a powerful tool, but it's designed for making great-looking books and technical articles. It's not the perfect solution for every job, and resumes are one of the things it doesn't do brilliantly.
Good -- that way you can avoid wasting your time being interviewed by a bunch of incompetents.
Okay, so the copyright industry bodies will simply claim that the entire network exists primarily for the purpose of copyright infringement, that everyone participating in it is fully aware of that fact, and therefore that you are committing some offense by running software that you know is going to be used by other people to infringe copyright.
(IANAL, so I don't know what kinds of laws would cover this -- conspiracy? -- but we all know how inventive the copyright industry's lawyers are!)
I had a quick go with 280Slides. The interface was impressively slick.
Then I tried to enter some non-English text, and it totally freaked out on me. When I pressed the keyboard combination to switch input methods, 280slides inserted three capital 'A's with acute accents. When I tried to type a simple Japanese phrase, 280slides inserted a single lower-case 'a' with a little circle over it.
This is the 21st century. We live in an increasingly globalised world. Applications that can't handle Unicode and multiple input methods have no place in this day and age. Back to the drawing board, guys, and don't come back till your nice slick interface has some basic i18n features, please.
Has anyone figured out what the point of these checks is yet? It's as stupid as those COPPA checks every phpBB has these days. Just a pointless waste of time that doesn't even look like an effective way of "protecting" children.
Unlike some people, I happen not to be paranoid about government. I believe in democracy, not conspiracy. And I believe that the rule of law will ensure my freedom. I don't believe that there's any realistic prospect of a tyrannical government sending stormtroopers after me.
Even if they did, however, I would rather live in a gulag than die in a hail of bullets, so I still don't see the point of owning a gun on that basis.
Gun ownership has many uses. Hunting is one. Sport is another. Personal protection is a third. Heck, some people just like to own guns for the sake of it, and that's fine by me if they do it responsibly. Overthrowing a tyrannical government, though? Don't be ridiculous.
All those places are a long way from home. The rebels know the land while the US army doesn't, and the rebels have massive popular support while the US army doesn't.
It's a very different scenario from a hypothetical military action within the USA, in which it's very likely that the majority of the population would believe that the rebels were traitors. The best you could hope for would be for a significant portion of the army to refuse to take up arms against fellow Americans. However, I doubt they'd go so far as to join the rebels and take up arms against their own military comrades either.
Running Windows in a VM means you need a Windows license. Using WINE, you don't.
Running Windows in a VM means your Windows apps are second-class citizens. Using WINE, everything is integrated into your regular desktop.