You lift a tin can above the atmosphere and transport it frictionless through space instead of pushing it through hundreds of billions of air molecules.
More money beyond what is needed to pay the bills and exercise your hobbies is not important.
If you dream of yachting, driving a Ferrari and owning your private, tropical paradise, then money probably should be an important factor in your life. If you're like me and enjoy travelling, gaming, and the simple things in life, such as going for walks and sitting in a nice café, reading a magazine, without being shadowed by bodyguards, then having an enjoyable job is more important than having a higher paying job. Work will be almost 50% of your life. Choose it wisely.
I agree that the available toolset and libraries are what makes a language great, and Java is the best supported development platform in the world. It has the greatest availability of tools and frameworks. The language itself is secondary - you can code for the Java VM in practically any language you like -or you plug in Xtext and create your own. There really isn't anything you can't do with Java, including programming micro controllers.
I don't know what you're talking about. Java has language bindings for every other major language. It's even standardized via the unified scripting API, with which you can call multiple scripting languages and exchange them under the hood without changing your Java program.
I don't agree. Linus seems to me like some paranoid rebel that lives in a black and white world; If you are not being abusive you are living in a world of back-stabbing political correctness bullshit. That is nonsense. I wouldn't use abusive language towards my family, my friends or my coworkers. And there is no back-stabbing political correctness bullshit going on in my life as far as I'm aware. Maybe Linus thinks that way because he doesn't know how to communicate with people without being abusive or resorting to back-stabbing.
I suppose we have different expectations on what is acceptable performance. I'm okay with anything over 24fps while you deem 35fps 'awful'.:) I usually don't buy games on release. I prefer to lag behind and wait for special offers before I buy, saves a lot of $$$. This might also be a factor. So when I talk about the 'latest' games I'm talking about Skyrim, GTA IV, Civ V, etc. I've also played the Crysis 2 demo without problems, but maybe the graphics quality was on "medium". Still looked pretty good.
The only game I bought recently that I've actually put away because I wasn't satisfied with performance on my system was "Sleeping Dogs". It's playable on medium settings, but the high settings look so much better that I prefer to wait for my next hardware upgrade.
I have a masters degree in computer science and I consider me somewhat competent in the field. I think I could develop anything from a web app to a simple 3D game for you. With some of those problems however... I don't even know where to start.
Computer science is a huge field by now and people have to specialize. You've said it yourself- those ACM puzzles seem to be heavily biased towards the algorithmic side of things, and not really -computer science- as a whole, as that would also include questions about software design, frameworks, patterns, programming languages, etc.
[quote]In the past, there was roughly a 2 year cycle for PCs[/quote]
Correctomondo. Except it's not just about checking email but also about one of the biggest PC sellers of the past: games. I used to by a new PC at least every 2 years to keep up with the advances in hardware just to be able to play the latest games. This process has practically come to an abrupt halt. My Athlon 64 X2 I'm typing this on is about 5 years old and it still runs the latest games on high detail without problems (on a standard 1-monitor setup). The only upgrade I performed at some point was the graphics card from a 8800 to a GTX 275. Only now with the next console generation coming up I'm starting to think about the next upgrade and going crazy with ultra-high resolution and graphics settings.
I think the slowing down of the hardware performance developments are good for normal consumers and gamers alike. Hardware lasts longer and game developers are starting to focus on gameplay again instead of the shineys.
I agree on your points. The employee turnover in many outsourcing firms is unsustainable for major, longer projects. However sometimes the unreliability and the cultural gap are even greater nuisance than the high fluctuation or the low quality results. I found that asian developers will often claim that everything is understood and fine, when in fact they barely understand requirements and are having great difficulty finding a solution. As if admitting to difficulties or asking questions is a sign of weakness or incompetence. Development will drag on like this until someone on the team starts to heavily inquire on their progress and figures out that they don't really know what they're doing. In one company I worked for in the past, we once had two green card workers (or the German equivalent of that) from India. They stayed in Germany and worked at our company for one month, when they left everyone stumped because they decided to go back home to 'marry'. That was the official explanation at least. I still don't get it, because at that time the barriers for green card workers in Germany was very high -they had to earn more than about 64000€ to be accepted- which must have been a fortune to someone from India.
There are many aspects which make outsourcing software development a lot less feasible than many managers would like to believe. The main one in my opinion is that software development is very complex work and requires -a lot- of communication and coordination. It doesn't help if your workers are spread across several time zones and barely speak your language. However the most overlooked aspect are the cultural differences.
More than anything, Microsoft has had the benefit of coming after Java. They took all the good parts, and learned from the things that were not so good.
A robust, statically typed language is for the framework and core functionality. Dynamic typing is for scripting languages. As the name implies - for running short, often modifiable scripts in a well defined context.
I don't get why some people insist on going dynamic all the way.
Well then Java should suit you just fine. Java never implements compatibility breaking changes in core functionality. This is why we have half-assed generics after all.
Actually, against all expectations, IMHO Oracle has done a great job at getting Java back to speed. We have something like regular release dates now, JavaFX has been turned into something exciting and usable, the community is being greatly involved, there is a nice, well-made newsletter, the Javadoc has been given a much needed facelift, security is being taken seriously... stuff is happening. It seems to me that Oracle is investing more resources into Java than Sun ever could.
While you are theoretically correct, I bet at hefty portion of the taxes we pay seep away into pointless offices, salaries of lazy public officials, funding for ineffective projects and just the plain old deep pockets of greedy politicians, aka corruption. I fact, so much of the taxes we pay trickle away, that even though we live in the wealthiest and highest taxed countries in the world that what remains of our money does not seem to be enough to fund our opaque and immensely complex state. So the state begins tapping financial markets and piling up more and more dept until it reaches critical levels and we have to increase taxes even further to pay for the debt and all those leeches leeching away at our hard earned pay.
You can treat any object-oriented language, such as Java, as an untyped/dynamic language by declaring all your variables, method parameters and return values "Object" and not using generics. It doesn't save you the typing, but the result is mostly the same. Of course, it won't allow you to do fancy Python stuff such as dynamically adding methods or values to existing objects, unless you want to get fancy with maps.
It's the same post WW2 U.S. foreign policy it has always been: dictatorships are preferable to boogeymen.
Before, boogeymen = commies. Now, boogeymen = islamists.
You always need the boogeymen. The military-industrial complex needs justification.
Why? It's how satellites work.
You lift a tin can above the atmosphere and transport it frictionless through space instead of pushing it through hundreds of billions of air molecules.
"PC gamers".
You keep using that term.
I don't think it means what you think it means.
More money beyond what is needed to pay the bills and exercise your hobbies is not important.
If you dream of yachting, driving a Ferrari and owning your private, tropical paradise, then money probably should be an important factor in your life. If you're like me and enjoy travelling, gaming, and the simple things in life, such as going for walks and sitting in a nice café, reading a magazine, without being shadowed by bodyguards, then having an enjoyable job is more important than having a higher paying job. Work will be almost 50% of your life. Choose it wisely.
Not sure about a zombie apocalypse speech, but if you want apocalyptic speeches for zombies, tune in to Fox News commentators.
I agree that the available toolset and libraries are what makes a language great, and Java is the best supported development platform in the world. It has the greatest availability of tools and frameworks. The language itself is secondary - you can code for the Java VM in practically any language you like -or you plug in Xtext and create your own. There really isn't anything you can't do with Java, including programming micro controllers.
I don't know what you're talking about. Java has language bindings for every other major language. It's even standardized via the unified scripting API, with which you can call multiple scripting languages and exchange them under the hood without changing your Java program.
I don't agree. Linus seems to me like some paranoid rebel that lives in a black and white world; If you are not being abusive you are living in a world of back-stabbing political correctness bullshit.
That is nonsense. I wouldn't use abusive language towards my family, my friends or my coworkers. And there is no back-stabbing political correctness bullshit going on in my life as far as I'm aware. Maybe Linus thinks that way because he doesn't know how to communicate with people without being abusive or resorting to back-stabbing.
I suppose we have different expectations on what is acceptable performance. I'm okay with anything over 24fps while you deem 35fps 'awful'. :)
I usually don't buy games on release. I prefer to lag behind and wait for special offers before I buy, saves a lot of $$$. This might also be a factor. So when I talk about the 'latest' games I'm talking about Skyrim, GTA IV, Civ V, etc. I've also played the Crysis 2 demo without problems, but maybe the graphics quality was on "medium". Still looked pretty good.
The only game I bought recently that I've actually put away because I wasn't satisfied with performance on my system was "Sleeping Dogs". It's playable on medium settings, but the high settings look so much better that I prefer to wait for my next hardware upgrade.
I have a masters degree in computer science and I consider me somewhat competent in the field. I think I could develop anything from a web app to a simple 3D game for you. With some of those problems however... I don't even know where to start.
Computer science is a huge field by now and people have to specialize. You've said it yourself- those ACM puzzles seem to be heavily biased towards the algorithmic side of things, and not really -computer science- as a whole, as that would also include questions about software design, frameworks, patterns, programming languages, etc.
[quote]In the past, there was roughly a 2 year cycle for PCs[/quote]
Correctomondo. Except it's not just about checking email but also about one of the biggest PC sellers of the past: games. I used to by a new PC at least every 2 years to keep up with the advances in hardware just to be able to play the latest games. This process has practically come to an abrupt halt. My Athlon 64 X2 I'm typing this on is about 5 years old and it still runs the latest games on high detail without problems (on a standard 1-monitor setup). The only upgrade I performed at some point was the graphics card from a 8800 to a GTX 275.
Only now with the next console generation coming up I'm starting to think about the next upgrade and going crazy with ultra-high resolution and graphics settings.
I think the slowing down of the hardware performance developments are good for normal consumers and gamers alike. Hardware lasts longer and game developers are starting to focus on gameplay again instead of the shineys.
From looking at some of those problems, it seems to me that it's more important to be a better mathematician than a programmer.
I agree on your points. The employee turnover in many outsourcing firms is unsustainable for major, longer projects. However sometimes the unreliability and the cultural gap are even greater nuisance than the high fluctuation or the low quality results. I found that asian developers will often claim that everything is understood and fine, when in fact they barely understand requirements and are having great difficulty finding a solution. As if admitting to difficulties or asking questions is a sign of weakness or incompetence. Development will drag on like this until someone on the team starts to heavily inquire on their progress and figures out that they don't really know what they're doing.
In one company I worked for in the past, we once had two green card workers (or the German equivalent of that) from India. They stayed in Germany and worked at our company for one month, when they left everyone stumped because they decided to go back home to 'marry'. That was the official explanation at least. I still don't get it, because at that time the barriers for green card workers in Germany was very high -they had to earn more than about 64000€ to be accepted- which must have been a fortune to someone from India.
There are many aspects which make outsourcing software development a lot less feasible than many managers would like to believe. The main one in my opinion is that software development is very complex work and requires -a lot- of communication and coordination. It doesn't help if your workers are spread across several time zones and barely speak your language. However the most overlooked aspect are the cultural differences.
And while it is quite unlikely that there will be a full blown war between the USA and, say, Nazis from outer space.
Thanks!
Interesting points.
Unfortunately there are also concepts like fun, sports and Predator movies.
That movie sucks monkeyballs in space.
The reason? Mass blindness of course.
Fixed that for you.
More than anything, Microsoft has had the benefit of coming after Java. They took all the good parts, and learned from the things that were not so good.
I agree.
A robust, statically typed language is for the framework and core functionality.
Dynamic typing is for scripting languages. As the name implies - for running short, often modifiable scripts in a well defined context.
I don't get why some people insist on going dynamic all the way.
Well then Java should suit you just fine. Java never implements compatibility breaking changes in core functionality. This is why we have half-assed generics after all.
Actually, against all expectations, IMHO Oracle has done a great job at getting Java back to speed. We have something like regular release dates now, JavaFX has been turned into something exciting and usable, the community is being greatly involved, there is a nice, well-made newsletter, the Javadoc has been given a much needed facelift, security is being taken seriously... stuff is happening. It seems to me that Oracle is investing more resources into Java than Sun ever could.
Maybe a hive-mind is the next step in human evolution. Always connected to everyone and the body of human knowledge.
While you are theoretically correct, I bet at hefty portion of the taxes we pay seep away into pointless offices, salaries of lazy public officials, funding for ineffective projects and just the plain old deep pockets of greedy politicians, aka corruption. I fact, so much of the taxes we pay trickle away, that even though we live in the wealthiest and highest taxed countries in the world that what remains of our money does not seem to be enough to fund our opaque and immensely complex state. So the state begins tapping financial markets and piling up more and more dept until it reaches critical levels and we have to increase taxes even further to pay for the debt and all those leeches leeching away at our hard earned pay.
You can treat any object-oriented language, such as Java, as an untyped/dynamic language by declaring all your variables, method parameters and return values "Object" and not using generics. It doesn't save you the typing, but the result is mostly the same. Of course, it won't allow you to do fancy Python stuff such as dynamically adding methods or values to existing objects, unless you want to get fancy with maps.