I lost all respect for Crichton when I read Prey, the book about nano machines. It had an absolutely insane number of plot holes, to the point where through the entire read I was scratching my head thinking "Jesus, is my reading comprehension so poor that I cannot understand this 3rd grade level book?"
Tiger Woods could not tell the difference between a TopFlite and a Taylor Made ball from 10 inches away if the labels were not showing. Visual appearance has almost nothing to do with whether or not one computer is anything like another computer.
This would be awesome! Weeks of demonstrating "evidence" in court. "Look! Our browser doesn't even work! It just loads up a jpeg of the Google homepage! The iPad was meant to be held and manipulated via touch screen. Clearly we did not copy them. Ours gets so hot that if you touch any part of the device, you will immediately have you finger prints burned off MIB style! This thing can't even really be called a tablet; I would call it more of a paper-weight-like device. Do not use it as a paper weight though, because it will ignite the paper!!...patent pending. patent pending. patent pending."
'do not have the same understated and extreme simplicity which is possessed by the Apple design,' Judge Birss said. 'They are not as cool.'
He went on to say,
'Mmmm it feels so warm against my thigh. Mmmmm the Tab's vibrating motor does not... mmmmm... provide the same strength and vigor. MMmmmm Oh Gawd, that retina display! The sleek cool aluminum sliding across my finger tips! Oh! Oh! MMMMmmmm!'
OMG, you have clearly never seen a business system written primarily in SQL stored procs. I spent 6 months working on an ERP system that did the majority of its processing in SQL...it nearly killed me (nothing wrong with SQL for actual data tasks though). Also, XML? I would rather store everything in CSV flat files like on on an old school RPG systems than relying heavily on XML.
The bottom 99% of apps in the iOS app store have something like 1% market share (numbers made up, but feel free to look it up). Nobody is using "Free Fart App # 53".
Almost all of the popular languages are pretty straight forward and (nearly) free of gotchas. Add a framework, and madness ensues. C does absolutely nothing to fix this. For the most part, I could care less about what language I am working in. The ecosystem and various libraries surrounding the language, on the other hand, make an enormous difference.
You would not believe how many people who apply for programming jobs cannot complete FizzBuzz. In my experience (I have probably interviewed around 100 people), I would call it at about 1 in 8. I give every possible concession too. I write out the instructions, explain them verbally, tell them they can ask a question at any time (clarifications or straight up help solving the problem), tell them they can write the code in any language regardless of what the position requires or what is on their resume, tell them that Googling is not only allowed but encouraged (You could literally copy and paste the answer, and that would be allowed), I let them know that they have 1 hour to complete the problem, and I let them know that pseudocode is perfectly acceptable if they get stuck at any one place.
I was absolutely dumbfounded at how few people can actually accomplish this. Often, as testing was last, I was already convinced that the person was a sure thing and saw the test as mostly a formality... no longer.
FYI, fizzbuzz is only a filter question. If someone gets it right, that is not enough to get hired. If they fail this, then the rest of the questions are a waste of time and they get the door for essentially being dishonest about their skills. The rest of the questions are not brutal, but they do require a bit more. Usually something like "Here is the first chapter of Moby Dick. Sort all of the words by frequency and display them as a list with the number of occurrences of each word beside them". Basic stuff that shows they know the language they say they do, can do basic problem solving, and have an operational brain.
Very true. Another decent indicator is to look at the language rankings on Github. It definitely skews things away from corprate type projects, but clearly there is a whole lot going on in Javascript. It blows just about everything else away.
Do what most of us do who need super optimization: write the 2% of the algorithm that is causing the performance hit in C, then wrap it all up in C# or Python (or any of the other "ergonomic" languages).
Very true. No one starts a project asking "hmm... should I do this in Java or C?". At this point, they are not even in competition. If you are writing a low level kernel module, It will be in C or C++. If you are writing enterprise-y corporate software, you are looking for the language with the biggest framework behind it; most likely Java or C#. For the space in between, you will use whatever you have the most experience with. Specialty languages are sprinkled in as needed.
The Java vs C# divide has a lot to do with geography in my experience. In my area, almost all shops are.Net/C#. There are actually more Ruby/Rails and Python/Django shops in my area than Java. I happen to be in a mid-sized southern coastal city. I have heard a similar trend in the DC area. At the same time, there are plenty of places where Java dominates and the majority of devs would not touch C# with a ten foot pole. I have absolutely no idea what could be causing the trend, but it seems to hold true IME.
Yes, that is object-orientation. The example was to counter the claim that writing OO code in C was impossible. This example is sufficient. Now clean OO is another story. Of course, if you really want OO and have a choice, pick one of the many languages that is designed and optimized for OO. Sometimes, the language you use is not a choice, so you make do with what you have.
Dynamic languages get by without type safety just fine. I use static and dynamic languages on a daily basis. The type safe languages let me "sleep at the wheel" a bit more and let the compiler do the work, but if I am using proper TDD, it is never a problem with the dynamic languages.
Bzzzzzt. wrong. OO is nothing but a design pattern and can be implemented in any language. I use a wacky C variant for a lot of my GIS work. We have built an OO framework around it to great effect. It is not as pretty as an out of the box solution you would see in something like C# or Python, but it gets the job done just fine.
I think the argument seems somewhat plausible for clients. For backends, however,...not gonna happen. I know some people might be using node.js with positive results, but using javascript for large, complicated corporate frameworks sounds like a good definition of hell. If the web 3.0 people do become our new overlords (unlikely, they will probably go the way of the 90s HTML "programmer" before we know it IMHO) I will at least be compiling coffee script. Javascript has a lot of great things about it, but the syntax interferes with productivity on non-trivial projects.
I lost all respect for Crichton when I read Prey, the book about nano machines. It had an absolutely insane number of plot holes, to the point where through the entire read I was scratching my head thinking "Jesus, is my reading comprehension so poor that I cannot understand this 3rd grade level book?"
Seriously, we need to kick out this judge and call in Picard to act as a stand in arbiter of the case. Nobody shoots straighter than Jean-Luc.
Tiger Woods could not tell the difference between a TopFlite and a Taylor Made ball from 10 inches away if the labels were not showing. Visual appearance has almost nothing to do with whether or not one computer is anything like another computer.
Including the "Pad" from TNG
style is a subset of substance.
... barely...
This would be awesome! Weeks of demonstrating "evidence" in court. "Look! Our browser doesn't even work! It just loads up a jpeg of the Google homepage! The iPad was meant to be held and manipulated via touch screen. Clearly we did not copy them. Ours gets so hot that if you touch any part of the device, you will immediately have you finger prints burned off MIB style! This thing can't even really be called a tablet; I would call it more of a paper-weight-like device. Do not use it as a paper weight though, because it will ignite the paper!!...patent pending. patent pending. patent pending."
'do not have the same understated and extreme simplicity which is possessed by the Apple design,' Judge Birss said. 'They are not as cool.'
He went on to say,
'Mmmm it feels so warm against my thigh. Mmmmm the Tab's vibrating motor does not... mmmmm... provide the same strength and vigor. MMmmmm Oh Gawd, that retina display! The sleek cool aluminum sliding across my finger tips! Oh! Oh! MMMMmmmm!'
He concluded his summary with these remarks,
'Uh uh uh uh...Mmmmm...iPad...iPad...iPad...!'
Yep, 2 or 3 unsolicited calls/emails per week is typical for C#ers in my area.
Good thing I am not a C programmer I suppose. Everything about a language is secondary to demand.
OMG, you have clearly never seen a business system written primarily in SQL stored procs. I spent 6 months working on an ERP system that did the majority of its processing in SQL...it nearly killed me (nothing wrong with SQL for actual data tasks though). Also, XML? I would rather store everything in CSV flat files like on on an old school RPG systems than relying heavily on XML.
The bottom 99% of apps in the iOS app store have something like 1% market share (numbers made up, but feel free to look it up). Nobody is using "Free Fart App # 53".
Almost all of the popular languages are pretty straight forward and (nearly) free of gotchas. Add a framework, and madness ensues. C does absolutely nothing to fix this. For the most part, I could care less about what language I am working in. The ecosystem and various libraries surrounding the language, on the other hand, make an enormous difference.
The first two are mutually exclusive.
I was absolutely dumbfounded at how few people can actually accomplish this. Often, as testing was last, I was already convinced that the person was a sure thing and saw the test as mostly a formality... no longer.
FYI, fizzbuzz is only a filter question. If someone gets it right, that is not enough to get hired. If they fail this, then the rest of the questions are a waste of time and they get the door for essentially being dishonest about their skills. The rest of the questions are not brutal, but they do require a bit more. Usually something like "Here is the first chapter of Moby Dick. Sort all of the words by frequency and display them as a list with the number of occurrences of each word beside them". Basic stuff that shows they know the language they say they do, can do basic problem solving, and have an operational brain.
IDK, the D programming language is not even on the list. explanation?
Very true. Another decent indicator is to look at the language rankings on Github. It definitely skews things away from corprate type projects, but clearly there is a whole lot going on in Javascript. It blows just about everything else away.
Do what most of us do who need super optimization: write the 2% of the algorithm that is causing the performance hit in C, then wrap it all up in C# or Python (or any of the other "ergonomic" languages).
Very true. No one starts a project asking "hmm... should I do this in Java or C?". At this point, they are not even in competition. If you are writing a low level kernel module, It will be in C or C++. If you are writing enterprise-y corporate software, you are looking for the language with the biggest framework behind it; most likely Java or C#. For the space in between, you will use whatever you have the most experience with. Specialty languages are sprinkled in as needed.
The Java vs C# divide has a lot to do with geography in my experience. In my area, almost all shops are .Net/C#. There are actually more Ruby/Rails and Python/Django shops in my area than Java. I happen to be in a mid-sized southern coastal city. I have heard a similar trend in the DC area. At the same time, there are plenty of places where Java dominates and the majority of devs would not touch C# with a ten foot pole. I have absolutely no idea what could be causing the trend, but it seems to hold true IME.
Yes, that is object-orientation. The example was to counter the claim that writing OO code in C was impossible. This example is sufficient. Now clean OO is another story. Of course, if you really want OO and have a choice, pick one of the many languages that is designed and optimized for OO. Sometimes, the language you use is not a choice, so you make do with what you have.
Dynamic languages get by without type safety just fine. I use static and dynamic languages on a daily basis. The type safe languages let me "sleep at the wheel" a bit more and let the compiler do the work, but if I am using proper TDD, it is never a problem with the dynamic languages.
Bzzzzzt. wrong. OO is nothing but a design pattern and can be implemented in any language. I use a wacky C variant for a lot of my GIS work. We have built an OO framework around it to great effect. It is not as pretty as an out of the box solution you would see in something like C# or Python, but it gets the job done just fine.
I think the argument seems somewhat plausible for clients. For backends, however, ...not gonna happen. I know some people might be using node.js with positive results, but using javascript for large, complicated corporate frameworks sounds like a good definition of hell. If the web 3.0 people do become our new overlords (unlikely, they will probably go the way of the 90s HTML "programmer" before we know it IMHO) I will at least be compiling coffee script. Javascript has a lot of great things about it, but the syntax interferes with productivity on non-trivial projects.
It is, buy all intensive porpoises.