Not sure if serious.
Businessmen have always been and will always be sociopathic blood-suckers.
Why it surprises you that they would screw over employees, with so much rich history, is a little confusing.
The US is a one party state masquerading as a two-party state that is controlled by corporate interests.
The only reason they keep up the illusion of choice is because it keeps people divided.
The US has long become a Fascist government. It started right about the time Eisenhower let the military industrial complex take over in the 50's, but didn't really take hold until Reagan let these sociopaths off their leash entirely.
.
Russ Feingold was by far the most liberal Senator in many decades.
The ONLY reason Obama looks like a liberal is because the republican party has gone so far right that Teddy Roosevelt, Eisenhower, Richard Nixon and Ronald Reagan would no longer be welcome as Republicans if they were still living.
Ask true liberals what they think of Obama, it won't be much different(minus the racist crap) that the tea-baggers carry on about.
The funny thing about this: " From NY to LA, all democratic run and every single fucking one of them is a welfare state, police state, verge of bankruptcy shit hole" is that both California and New York get less federal dollars than they pay in and the "pull yourself up by your bootstraps" states like Mississippi, Alabama, SC, NC, Alaska, etc get more from the federal government then they pay in. Which means it is the far right hell-holes sucking on the federal tit and these evil liberal states are funding them.
It has been proven that jobs that require more brains than brawn suffer when asked to work more hours.
In programming, hours 50-60 are demonstrably worth less than hours 10-20.
Work pays for life, it is not life. Do you really want "he worked 60 hours a week" chiseled on your grave marker?
60 hour work week, means you are unproductive. I can do more and do it better in a 36-40 hour work week than I can working 60+ hours.
It can also be dangerous, depending on your job.
Do you understand that there are certain things that are only knoawable during runtime which a static compiler can not optimize for but a JIT compiler can?
Admittedly, JIT on client-side JS isn't as useful as JIT on long running server processes(JIT it is why C and C++ can always smoke Java in short running processes but the tables get turned when the process runs for hours, days, weeks, etc) but there is some advantage on the client side.
Python and Ruby are strongly typed, unlike PHP which doesn't even rise to the lofty title of weakly typed, stupidly typed is more accurate.
I am more familar with Ruby, so I will comment based on that, but my recollection of Python isn't much different. An object in Ruby is a specific type and will never be a different type, you can not coerce it(although you can get the object to return its representation in a different object: to_s, to_a, etc) to anything else and has no casting. You can't get much safer than that.
It also provides a mechinism that it cares more about what an object can do(the real point of OO) than what it is(Kingdom of nouns-profound misunderstanding of OO) unlike Java that requires so much verbosity to achieve the same effect.
Or are you referring to static and string typing Java style? You might want to know that many Java frameworks go to extreme contortions to get around its verbose and broken type system.
How is it hard to find replacement programmers for Ruby on Rails?
If you hire actual programmers that have not only domain knowlege but understand computation they will pick up both Ruby and Rails quickly.
Hire programmers, not programming language/framework end-users.
When you are writing a web app you can use whatever you like and there are a lot of good options:
Perl
Python(with or without the various framworks)
Ruby(with or without Rails or Sinatra) & JRuby
Smalltalk
Haskell
Lisp & Clojure
Ocaml
Scala
Erlang
Javascript(node or Rhino, maybe a few others)
even C++ has web frameworks if you really want C++
I am sure I missed about a dozen of so viable candidates
The only reason to use PHP is ignorance of the craft.
The linux kernel has many examples. A common usage is using goto to deal with exceptions so you don't fill up the critical path with branches and blow your cache.
Some newbie actually went on the kernel's mailing list a long time ago, shocked that GOTO's existed and proposed all sorts of lamebrained approaches just to avoid a clean usage of GOTO like this(shamelessly stolen from one of Robert Love's responses):
do A
if (error)
goto out_a;
do B
if (error)
goto out_b;
do C
if (error)
goto out_c;
goto out;
out_c:
undo C
out_b:
undo B:
out_a:
undo A
out:
return ret;
Easy to read, provides clean stack unwinding, avoids blowing out your cache and only branches on error conditions.
Linus was actually nice to this kid, which surprised me because he deserved all the vitriol he got and more.
One the other hand, that a newbie was actually reading Linux source code was pretty amazing to me. But going on the mailing list and chastising experienced kernel programmers was pretty funny.
Djikstra never gave his paper the title "GOTO's considered harmful", I think it was Wirth acting as editor and who is someone you can ignore safely.
His paper was talking about GOTO's that can bounce all over the place, something essentially impossible in C where GOTO's are local in the function(ignoring longjmp). The paper was published several years before C was developed making his paper irrelevant to C style GOTO's.
I think I used GOTO once, in a virtual machine project that ran bytecode for a educational language that teaches parallel programming concepts.
No you cannot. You can fake it, and maybe get 25% of the way there in C but it is not like Lisp.
There is no other language that can implement the power of Lisp macros.
A first class way means an extension to the Lisp language is indistinguishable from Lisp, C can not do that.
Smalltalk, Ruby, Ocaml and a few others can get close to it, but are still no match for the expressiveness in Lisp.
I have yet to meet anyone who claims to be a programmer and hates(read: doesn't understand it) Lisp and is more than a stupid API monkey that really doesn't know what he is doing.
If you think there is no reason for the parenthesis or prefix notation you are sufficiently clueless that I hope and pray you don't write code for fun or money.
It is people like you that are turning my once mathematical profession into a paint-by-numbers racket.
There is a reason that only Lisp languages have the power to extend the language in a first class way, and that reason has everything to do with the parens.
I bet you love either C++ or Java, both of which have more parenthesis(and braces and brackets) than an equivalent Lisp program.
There is a simple, logical and profoundly illuminating reason why Lisp syntax is what it is. That you can't or don't want to learn why this is so speaks volumes.
A year later, a mechanical engineering professor summed up that whole semester in 5 seconds: "Classes are little more than structs with code inside".
That is a decent introductory description, yet woefully incomplete and misleading.
If you don't want a hand-waving, dumbed-down definition of OO and it doesn't mostly talk about message passing it is going to be a wrong-headed explanation at best.
Logic can be taught as long as the student has at least some aptitude and interest.
If parents give their children toys and activities that build skills in logic and give them encouragement they are much more likely to pursue those skills in high school and college then the child of say Burt and Virgina Chance.
You probably won't get much out of trying to teach programming or CS to a person with down's syndrome, but you can with someone with at least average intelligence and a desire/interest to learn.
I know people that have very high IQ's and can not understand programming, my theory is that they simply don't have the interest. The certainly can understand logic as most of them are Engineers.
It is not like sports at all.
I could run a 4:30ish mile in high school, and in my early 20's cut off about 10 seconds, but nothing would make me run at a world class level.
In HS all I was interested in was sports and girls and I barely graduated. I struggled mightily at algebra, not that I was trying hard. However, I have a BS in CS with minors in math and physics and graduated with honors and went on to earn a MS in CS with an even higher GPA. I will never be a Ken Thompson or Edsger Dijkstra but I think I am competent and maybe slightly better than competent which puts me way ahead of the pack.
Why?
1. I was interested in actually learning it in college
2. I blew out my knee and can't run anymore so I had to focus on something else
The keys that you can drive to are all flat with most 15 ft or less above sea level, not counting buildings.
Go past key west, and there are some hilly ones in the Dry Tortugas park
I see you didn't read the exchange. Sara swore far more than Linus did in that exchange.
Not sure if serious. Businessmen have always been and will always be sociopathic blood-suckers. Why it surprises you that they would screw over employees, with so much rich history, is a little confusing.
Theodore Roosevelt was the first prominent politician to suggest it.
Exactly
The US is a one party state masquerading as a two-party state that is controlled by corporate interests.
The only reason they keep up the illusion of choice is because it keeps people divided.
The US has long become a Fascist government. It started right about the time Eisenhower let the military industrial complex take over in the 50's, but didn't really take hold until Reagan let these sociopaths off their leash entirely. .
Russ Feingold was by far the most liberal Senator in many decades.
The ONLY reason Obama looks like a liberal is because the republican party has gone so far right that Teddy Roosevelt, Eisenhower, Richard Nixon and Ronald Reagan would no longer be welcome as Republicans if they were still living.
Ask true liberals what they think of Obama, it won't be much different(minus the racist crap) that the tea-baggers carry on about.
The funny thing about this: " From NY to LA, all democratic run and every single fucking one of them is a welfare state, police state, verge of bankruptcy shit hole" is that both California and New York get less federal dollars than they pay in and the "pull yourself up by your bootstraps" states like Mississippi, Alabama, SC, NC, Alaska, etc get more from the federal government then they pay in. Which means it is the far right hell-holes sucking on the federal tit and these evil liberal states are funding them.
It has been proven that jobs that require more brains than brawn suffer when asked to work more hours. In programming, hours 50-60 are demonstrably worth less than hours 10-20.
What a horrible mindset you have.
Work pays for life, it is not life. Do you really want "he worked 60 hours a week" chiseled on your grave marker? 60 hour work week, means you are unproductive. I can do more and do it better in a 36-40 hour work week than I can working 60+ hours. It can also be dangerous, depending on your job.
Do you understand that there are certain things that are only knoawable during runtime which a static compiler can not optimize for but a JIT compiler can?
Admittedly, JIT on client-side JS isn't as useful as JIT on long running server processes(JIT it is why C and C++ can always smoke Java in short running processes but the tables get turned when the process runs for hours, days, weeks, etc) but there is some advantage on the client side.
Honestly, I don't understand what all the complaining is about. It just seems like a lot of language snobbery to me.
Ah yes, the mark of an amateur. Dismissing concerns about good language design principles as snobbery or elitism.
Only in the amateur world of PHP and in the GOP are things like education considered elitism and should be shunned.
PHP is never the right answer as folks from Facebook learned the hard way. http://www.quora.com/Quora-Infrastructure/Why-did-Quora-choose-Python-for-its-development/answer/Adam-DAngelo
Python and Ruby are strongly typed, unlike PHP which doesn't even rise to the lofty title of weakly typed, stupidly typed is more accurate.
I am more familar with Ruby, so I will comment based on that, but my recollection of Python isn't much different. An object in Ruby is a specific type and will never be a different type, you can not coerce it(although you can get the object to return its representation in a different object: to_s, to_a, etc) to anything else and has no casting. You can't get much safer than that.
It also provides a mechinism that it cares more about what an object can do(the real point of OO) than what it is(Kingdom of nouns-profound misunderstanding of OO) unlike Java that requires so much verbosity to achieve the same effect.
Or are you referring to static and string typing Java style? You might want to know that many Java frameworks go to extreme contortions to get around its verbose and broken type system.
If your field of vision is PHP, C# and Java, you should find employment elsewhere like Walmart.
How is it hard to find replacement programmers for Ruby on Rails?
If you hire actual programmers that have not only domain knowlege but understand computation they will pick up both Ruby and Rails quickly.
Hire programmers, not programming language/framework end-users.
When you are writing a web app you can use whatever you like and there are a lot of good options:
Perl
Python(with or without the various framworks)
Ruby(with or without Rails or Sinatra) & JRuby
Smalltalk
Haskell
Lisp & Clojure
Ocaml
Scala
Erlang
Javascript(node or Rhino, maybe a few others)
even C++ has web frameworks if you really want C++
I am sure I missed about a dozen of so viable candidates
The only reason to use PHP is ignorance of the craft.
Here is the mailing list thread: https://lkml.org/lkml/2003/1/12/126 Good reading
Some newbie actually went on the kernel's mailing list a long time ago, shocked that GOTO's existed and proposed all sorts of lamebrained approaches just to avoid a clean usage of GOTO like this(shamelessly stolen from one of Robert Love's responses):
do A
if (error)
goto out_a;
do B
if (error)
goto out_b;
do C
if (error)
goto out_c;
goto out;
out_c:
undo C
out_b:
undo B:
out_a:
undo A
out:
return ret;
Easy to read, provides clean stack unwinding, avoids blowing out your cache and only branches on error conditions.
Linus was actually nice to this kid, which surprised me because he deserved all the vitriol he got and more.
One the other hand, that a newbie was actually reading Linux source code was pretty amazing to me. But going on the mailing list and chastising experienced kernel programmers was pretty funny.
Djikstra never gave his paper the title "GOTO's considered harmful", I think it was Wirth acting as editor and who is someone you can ignore safely.
His paper was talking about GOTO's that can bounce all over the place, something essentially impossible in C where GOTO's are local in the function(ignoring longjmp). The paper was published several years before C was developed making his paper irrelevant to C style GOTO's.
I think I used GOTO once, in a virtual machine project that ran bytecode for a educational language that teaches parallel programming concepts.
LGPL can be mixed with proprietary code as long as the LGPL parts are dynamically linked.
No you cannot. You can fake it, and maybe get 25% of the way there in C but it is not like Lisp.
There is no other language that can implement the power of Lisp macros.
A first class way means an extension to the Lisp language is indistinguishable from Lisp, C can not do that.
Smalltalk, Ruby, Ocaml and a few others can get close to it, but are still no match for the expressiveness in Lisp.
I have yet to meet anyone who claims to be a programmer and hates(read: doesn't understand it) Lisp and is more than a stupid API monkey that really doesn't know what he is doing.
If you think there is no reason for the parenthesis or prefix notation you are sufficiently clueless that I hope and pray you don't write code for fun or money.
It is people like you that are turning my once mathematical profession into a paint-by-numbers racket.
There is a reason that only Lisp languages have the power to extend the language in a first class way, and that reason has everything to do with the parens.
I bet you love either C++ or Java, both of which have more parenthesis(and braces and brackets) than an equivalent Lisp program.
There is a simple, logical and profoundly illuminating reason why Lisp syntax is what it is. That you can't or don't want to learn why this is so speaks volumes.
The are native compilers for Lisp.
A year later, a mechanical engineering professor summed up that whole semester in 5 seconds: "Classes are little more than structs with code inside".
That is a decent introductory description, yet woefully incomplete and misleading. If you don't want a hand-waving, dumbed-down definition of OO and it doesn't mostly talk about message passing it is going to be a wrong-headed explanation at best.
Logic can be taught as long as the student has at least some aptitude and interest.
If parents give their children toys and activities that build skills in logic and give them encouragement they are much more likely to pursue those skills in high school and college then the child of say Burt and Virgina Chance.
You probably won't get much out of trying to teach programming or CS to a person with down's syndrome, but you can with someone with at least average intelligence and a desire/interest to learn.
I know people that have very high IQ's and can not understand programming, my theory is that they simply don't have the interest. The certainly can understand logic as most of them are Engineers.
It is not like sports at all.
I could run a 4:30ish mile in high school, and in my early 20's cut off about 10 seconds, but nothing would make me run at a world class level.
In HS all I was interested in was sports and girls and I barely graduated. I struggled mightily at algebra, not that I was trying hard. However, I have a BS in CS with minors in math and physics and graduated with honors and went on to earn a MS in CS with an even higher GPA. I will never be a Ken Thompson or Edsger Dijkstra but I think I am competent and maybe slightly better than competent which puts me way ahead of the pack.
Why?
1. I was interested in actually learning it in college
2. I blew out my knee and can't run anymore so I had to focus on something else
Here is a slightly different take on it: 'Simplicity is prerequisite for reliability.' Edsger Dijkstra
Working in a noisy bull pen environment. Every time I see pictures of programmers work space in a big open room I die a little inside. I
The keys that you can drive to are all flat with most 15 ft or less above sea level, not counting buildings. Go past key west, and there are some hilly ones in the Dry Tortugas park