Other way around. When WoW started, PvE was a joke (UBRS was a raid) and PvP was what it was all about, and it was all open world PvP. It was a hell of a lot of fun. Creating Molten Core was the first step to destroying all fun in the game by turning it from PvP into PvE.
Re:haskell for the masses? sure, but only...
on
OCaml For the Masses
·
· Score: 2
So if it's simple in an imperative approach but difficult in a functional one- why the fuck are you using a functional one to begin with?
That's why no functional language has ever been successful. It's a beautiful model that just doesn't work. And no number of epicycles like monads will ever fix the problem that you're off on your base assumptions.
The one where I get 3 or 4 headhunters calling me a week when I haven't updated any online resume in over a year. Also the same one where every company I know has a ton of unfilled developer positions because we can't find the quality we're looking for. Individual jobs do move overseas, but there's no net movement there at the moment. In Seattle there's negative unemployment for programmers.
In the US it's mixed. Some people, like the OP, mistakenly call all areas IT. Most people frown on that classification. You say "I work in IT" I assume you're a sys admin, a helpdesk guy, or a phone support person. I do not assume you do programming. It's a separate field.
Here's an example of it causing confusion- the US is losing IT jobs. You can see all sorts of people worried about the loss of IT jobs. Programming jobs? The unemployment rate is actually negative- there's more jobs than coders.
Let's turn this around- other than the physical tools (which lets face it, every job in the world uses now) what do IT and programming have in common? Absolutely nothing. So conflating the two isn't useful.
You've got to be joking. The car industry? Really? What earthly possible meaning could the "car industry" possibly have- how can you talk about two such different things under one header and have it make any sense.
Fuck, you may as well call all jobs in the world "business" and not have any delimiters at all.
No, it isn't. CS is programming. IT is the maintenance of computer systems. That's like saying the guy who fixes your car and the guy who designs the engine are in the same field. They aren't.
While an IT worker may do some light programming in his job, the average IT worker is not a programmer, and does not have the skill set to be one. You do a disservice to yourself and the understanding of the industry by continuing to perpetuate this mistake. The two fields are totally separate, and conflating the two only causes confusion.
The world record for Swype is 56 wpm. I'm a clutz and I manage over 30. The typos are taken care of by using it's editing abilities (single tap to see alternate words, double tap to see alternates and hilight (and then you can just re-swipe).
Grafiti, I've never seen anyone get over 15. It's the same reason we don't use pen an paper- it's slow, tires out the hand, and you still have to look at the damn screen. On top of that you have to learn a whole new language. It's junk. I used to have a Palm, I used grafitti. It was slower than writing with a pen and paper. There's a reason why handwriting recognition is a dead end.
I don't think thicker is necessarily a bad thing. I'd pay a lot more for a phone that's twice as thick if they promise to use all the extra room for more juice in the battery.
Graffiti may have allowed you to not look at a phone, but it was hardly efficient- you'd be hard pressed to get 10 wpm on it. You can get 50 on something like Swype. It also tired your hands out as fast as pen and paper did. I'd use a 9 pad keyboard before handwriting recognition.
No, the + operator implies commutivity. Not all do. Division doesn't. >, >, don't. I agree that you shouldn't use + for string concatenation because it isn't commutitive, but there's no reason other operators can't be overlaoded, or that + couldn't be when the result is commutitive.
Which is pretty much anyone who wanted to write a cross-platform app. The defacto standard for that is still write in C or C++ and port only the UI. Otherwise you end up completely rewriting your application 3-6 times, and fixing every bug 3-6 times.
The peace prize is a real Nobel, it's one of the original group set up by Alfred Nobel. The economics one isn't, it's a separate award that uses a very similar name, set up by the bank that handles the Nobel grant because they wanted to give their field some legitimacy off of the name.
Exceptions actually add a lot of overhead (it used to be 20%+, I haven't benchmarked in a few years). And while they're useful in some circumstances, they can also lead to a lot of spaghetti code. They also require a very specific form of programming- everything needs to be a smart pointer, or you will leak. In addition, they aren't really all that readable- they're a glorified goto where the label can be multiple levels up. In general they should be avoided, and cases where they are used should be evaluated carefully.
Your problem is in your base assumption. Helpdesk isn't' low level and programming high level. They're completely different jobs, with completely different training and qualifications. Your CS degree makes you qualified to be a programmer, but unqualified for IT roles And nothing in your helpdesk experience will ever qualify you for programming. If you want to be a programmer, look for a programming job. If you want to be a help desk technician or eventually some type of system admin, then you look for those types of jobs. The two are totally separate skillsets, and one does not and should not lead to a job in the other.
Because those aren't CS questions- those are sys admin questions. CS isn't training to become a sys admin, it's to become a programmer. You wouldn't hire a mechanical engineer who designs a car to fix it, you don't hire a CS grad to run your network.
Since my manager just spent a week fixing a build script bug that ended up being this problem, he'd not only agree with me but he'd probably be more vehement.
So lets see, that's now the 5th work around I'm supposed to be using, all because of a idiotic design decision in the language. Or I can just use languages that don't do stupid shit like this. Decisions decisions.
First off, get your numbers straight. There aren't millions of programmers in the world- the US numbers for employment isn't expected to top 1.6M until way past 2018 (source: http://www.bls.gov/oco/ocos303.htm), and it's the largest employed base. Maybe triple that worldwide, most of whom have never and will never touch python. On a daily basis I doubt the number of people writing python tops 10K.
Can it be used? Sure. So can brainfuck. Is it a good choice? Maybe now that 3.0 requires one or the other (if an above poster is correct), it's acceptable. Before that, in a collaborative environment it's a bad choice and will cause problems that just shouldn't exist. In the 3 jobs now that used python for some shared script, all with fairly decent programmers, all 3 have hit that issue. It was a mistake, period.
Or you can use a language which doesn't have total brain farts like that. You removed something which caused minimal to no pain (the braces) and replaced it with something that regularly causes large amounts of pain and requires discipline and rules to make work. That's a textbook definition of a big mistake. Made worse by the fact that it's impossible at a glance to tell if it's a mistake or not- with braces you can see a missing one or an extra one, without looking in a hex editor you can't see a tab vs spaces.
As for running reindent or similar app- great, except it won't work 100%, can cause bugs itself, and when doing blames or diffs of your code base will cause a lot of lines to be touched. All to avoid putting in two characters in the text. Still the wrong answer. The correct answer is to either force all indents to be a particular type and amount of whitespace and force anything else to not compile, or to just add in braces. Until one or the other happens, picking python is just asking for trouble- that language design option has cost businesses I've worked at more productivity than any other I've ever seen.
That's definitely a problem with people reading it when they're not yet at an architectural level to understand it. You aren't supposed to look at a problem and ask "What patterns can I use?". You're supposed to come up with a solution to a problem, realize that it's forming a pattern, and use that to both describe the solution to others and to identify potential strengths and weaknesses of your solution.
Unfortunately too many people without much architecture ability read it and try to apply it to a problem rather than to their solution, leading to a lot of pain. Also leading to my least favorite interview question "What's your favorite design pattern?". The only correct response- "The one that solves my problem".
Sorry, this is a horrible book. It's poorly organized, rarely coherent. He introduces concepts out of order and in a stream of consciousness style that makes no sense unless one is already a C++ expert. I'd recommend one of those cheap "Teach yourself to program X in Y" books before this one.
I'd like the multiple weeks of my life back that python has cost me because of their whitespace as braces style when coworkers decided to mix tabs and spaces. Python's decision would be fine *if* they had decided that we must use exactly 1 tab, or exactly 4 spaces, or any other choice. Allowing arbitrary amounts/types of whitespace along with giving it semantic meaning was the biggest mistake in the history of programming languages, and renders the result unusable.
You can add terms to Swype's dictionary (anything you type is automatically added on older versions, on newer versions you should be prompted to add it by tapping the choice list). So you should never need to type it more than once. As a bonus, most tech terms are so long that the prediction is really accurate.
Which is another shortcoming in the article- it talks about phone input, but doesn't mention other methods like Swype, which currently holds the world record for texting speed in both the normal and hands free categories.
In some parts of the world, you're right. In the US, the two are the same thing. University and college are exact synonyms in the US, and have been for at least 30 years.
Other way around. When WoW started, PvE was a joke (UBRS was a raid) and PvP was what it was all about, and it was all open world PvP. It was a hell of a lot of fun. Creating Molten Core was the first step to destroying all fun in the game by turning it from PvP into PvE.
So if it's simple in an imperative approach but difficult in a functional one- why the fuck are you using a functional one to begin with?
That's why no functional language has ever been successful. It's a beautiful model that just doesn't work. And no number of epicycles like monads will ever fix the problem that you're off on your base assumptions.
The one where I get 3 or 4 headhunters calling me a week when I haven't updated any online resume in over a year. Also the same one where every company I know has a ton of unfilled developer positions because we can't find the quality we're looking for. Individual jobs do move overseas, but there's no net movement there at the moment. In Seattle there's negative unemployment for programmers.
In the US it's mixed. Some people, like the OP, mistakenly call all areas IT. Most people frown on that classification. You say "I work in IT" I assume you're a sys admin, a helpdesk guy, or a phone support person. I do not assume you do programming. It's a separate field.
Here's an example of it causing confusion- the US is losing IT jobs. You can see all sorts of people worried about the loss of IT jobs. Programming jobs? The unemployment rate is actually negative- there's more jobs than coders.
Let's turn this around- other than the physical tools (which lets face it, every job in the world uses now) what do IT and programming have in common? Absolutely nothing. So conflating the two isn't useful.
You've got to be joking. The car industry? Really? What earthly possible meaning could the "car industry" possibly have- how can you talk about two such different things under one header and have it make any sense.
Fuck, you may as well call all jobs in the world "business" and not have any delimiters at all.
Yes. It has a development department and an IT department. There is absolutely no reason and no advantage to having the two lumped into one.
No, it isn't. CS is programming. IT is the maintenance of computer systems. That's like saying the guy who fixes your car and the guy who designs the engine are in the same field. They aren't.
While an IT worker may do some light programming in his job, the average IT worker is not a programmer, and does not have the skill set to be one. You do a disservice to yourself and the understanding of the industry by continuing to perpetuate this mistake. The two fields are totally separate, and conflating the two only causes confusion.
The world record for Swype is 56 wpm. I'm a clutz and I manage over 30. The typos are taken care of by using it's editing abilities (single tap to see alternate words, double tap to see alternates and hilight (and then you can just re-swipe).
Grafiti, I've never seen anyone get over 15. It's the same reason we don't use pen an paper- it's slow, tires out the hand, and you still have to look at the damn screen. On top of that you have to learn a whole new language. It's junk. I used to have a Palm, I used grafitti. It was slower than writing with a pen and paper. There's a reason why handwriting recognition is a dead end.
I don't think thicker is necessarily a bad thing. I'd pay a lot more for a phone that's twice as thick if they promise to use all the extra room for more juice in the battery.
Graffiti may have allowed you to not look at a phone, but it was hardly efficient- you'd be hard pressed to get 10 wpm on it. You can get 50 on something like Swype. It also tired your hands out as fast as pen and paper did. I'd use a 9 pad keyboard before handwriting recognition.
No, the + operator implies commutivity. Not all do. Division doesn't. >, >, don't. I agree that you shouldn't use + for string concatenation because it isn't commutitive, but there's no reason other operators can't be overlaoded, or that + couldn't be when the result is commutitive.
Which is pretty much anyone who wanted to write a cross-platform app. The defacto standard for that is still write in C or C++ and port only the UI. Otherwise you end up completely rewriting your application 3-6 times, and fixing every bug 3-6 times.
The peace prize is a real Nobel, it's one of the original group set up by Alfred Nobel. The economics one isn't, it's a separate award that uses a very similar name, set up by the bank that handles the Nobel grant because they wanted to give their field some legitimacy off of the name.
Exceptions actually add a lot of overhead (it used to be 20%+, I haven't benchmarked in a few years). And while they're useful in some circumstances, they can also lead to a lot of spaghetti code. They also require a very specific form of programming- everything needs to be a smart pointer, or you will leak. In addition, they aren't really all that readable- they're a glorified goto where the label can be multiple levels up. In general they should be avoided, and cases where they are used should be evaluated carefully.
Your problem is in your base assumption. Helpdesk isn't' low level and programming high level. They're completely different jobs, with completely different training and qualifications. Your CS degree makes you qualified to be a programmer, but unqualified for IT roles And nothing in your helpdesk experience will ever qualify you for programming. If you want to be a programmer, look for a programming job. If you want to be a help desk technician or eventually some type of system admin, then you look for those types of jobs. The two are totally separate skillsets, and one does not and should not lead to a job in the other.
Because those aren't CS questions- those are sys admin questions. CS isn't training to become a sys admin, it's to become a programmer. You wouldn't hire a mechanical engineer who designs a car to fix it, you don't hire a CS grad to run your network.
Since my manager just spent a week fixing a build script bug that ended up being this problem, he'd not only agree with me but he'd probably be more vehement.
So lets see, that's now the 5th work around I'm supposed to be using, all because of a idiotic design decision in the language. Or I can just use languages that don't do stupid shit like this. Decisions decisions.
First off, get your numbers straight. There aren't millions of programmers in the world- the US numbers for employment isn't expected to top 1.6M until way past 2018 (source: http://www.bls.gov/oco/ocos303.htm), and it's the largest employed base. Maybe triple that worldwide, most of whom have never and will never touch python. On a daily basis I doubt the number of people writing python tops 10K.
Can it be used? Sure. So can brainfuck. Is it a good choice? Maybe now that 3.0 requires one or the other (if an above poster is correct), it's acceptable. Before that, in a collaborative environment it's a bad choice and will cause problems that just shouldn't exist. In the 3 jobs now that used python for some shared script, all with fairly decent programmers, all 3 have hit that issue. It was a mistake, period.
Or you can use a language which doesn't have total brain farts like that. You removed something which caused minimal to no pain (the braces) and replaced it with something that regularly causes large amounts of pain and requires discipline and rules to make work. That's a textbook definition of a big mistake. Made worse by the fact that it's impossible at a glance to tell if it's a mistake or not- with braces you can see a missing one or an extra one, without looking in a hex editor you can't see a tab vs spaces.
As for running reindent or similar app- great, except it won't work 100%, can cause bugs itself, and when doing blames or diffs of your code base will cause a lot of lines to be touched. All to avoid putting in two characters in the text. Still the wrong answer. The correct answer is to either force all indents to be a particular type and amount of whitespace and force anything else to not compile, or to just add in braces. Until one or the other happens, picking python is just asking for trouble- that language design option has cost businesses I've worked at more productivity than any other I've ever seen.
That's definitely a problem with people reading it when they're not yet at an architectural level to understand it. You aren't supposed to look at a problem and ask "What patterns can I use?". You're supposed to come up with a solution to a problem, realize that it's forming a pattern, and use that to both describe the solution to others and to identify potential strengths and weaknesses of your solution.
Unfortunately too many people without much architecture ability read it and try to apply it to a problem rather than to their solution, leading to a lot of pain. Also leading to my least favorite interview question "What's your favorite design pattern?". The only correct response- "The one that solves my problem".
Sorry, this is a horrible book. It's poorly organized, rarely coherent. He introduces concepts out of order and in a stream of consciousness style that makes no sense unless one is already a C++ expert. I'd recommend one of those cheap "Teach yourself to program X in Y" books before this one.
I'd like the multiple weeks of my life back that python has cost me because of their whitespace as braces style when coworkers decided to mix tabs and spaces. Python's decision would be fine *if* they had decided that we must use exactly 1 tab, or exactly 4 spaces, or any other choice. Allowing arbitrary amounts/types of whitespace along with giving it semantic meaning was the biggest mistake in the history of programming languages, and renders the result unusable.
You can add terms to Swype's dictionary (anything you type is automatically added on older versions, on newer versions you should be prompted to add it by tapping the choice list). So you should never need to type it more than once. As a bonus, most tech terms are so long that the prediction is really accurate.
Which is another shortcoming in the article- it talks about phone input, but doesn't mention other methods like Swype, which currently holds the world record for texting speed in both the normal and hands free categories.
In some parts of the world, you're right. In the US, the two are the same thing. University and college are exact synonyms in the US, and have been for at least 30 years.