JQuery is just encapsulating some primarily dom-related javascript mainpulation routines with the added bonus that they try to eliminate browser differences. So, when you're saying that the browser provides features that jquery was needed for, you're really saying that the browser does things that javascript is no longer needed for.
I'm just not seeing it though. With pure HTML & CSS and a fancy new browser, can I:
Write ajax requests and parse and conditionally apply the results to various page elements? Dynamically add and remove elements? Perform liquid resizing based on a layout approach with glue elements and fixed-but-scalable areas - that is dependent upon the size of other elements rather than explicit browser viewport height/width? How about perform custom input box validation? Maybe set the value of a text box only when a value in a linked select box is changed? Pop up a dialog when a button is clicked? Start an image upload when you drag an image over a browser region?
In the age of ever-closer-to-desktop-application websites, I'm only seeing more and more use of javascript frameworks - of which jquery is one - and frankly I don't see how anyone could do without it. Maybe if you're making static brochure sites, I suppose, but then you weren't using javascript for that anyway.
Maybe the original poster meant to say "is it worth learning jquery instead of another framework or library" ? Otherwise I can't see anyone who actually creates web applications for a living even asking this.
The "actual law" often says that discrimination is behavior towards a member of a legally recognized minority on the basis of their membership in said legally minority. Of course it varies state to state and between municipalities, but that's usually the language of it. It's only the general, unwritten interpretation that provides the vague assurances of "racial discrimination is illegal" or "gender discrimination is illegal" or similar nice-sounding definitions.
Unfortunately, 'male' and 'white' are not legally recognized minorities, so by many actual, written laws, you cannot discriminate against someone if you disadvantage them because they are either white, or male, in the same way that it's not discrimination if you only hire the deaf over the non-hearing-disabled.
The same is true of the legal definition of rape in some states; rape is only defined as a male penetrating a female. All other combinations (man/man, female/female, female on man) is considered a lesser form of sexual assault. In these places, a female can never be charged with rape.
There's a big difference between a teaching environment where the teacher can learn something, and a presentation-based teaching environment. Without real time feedback, exposure to the ideas of others, and having to explain things to novices, it's just a vocalization of the thoughts you already had. Maybe you'll get some organizational benefit out of it, but really the teacher is not learning anything.
I skimmed through a few of his videos, and I didn't explicitly see where he was responding to a chat log or taking questions. Perhaps I missed it, but it seems like mostly what he's doing is presenting, not teaching, and so I doubt he's learning anything.
On the other hand, I do think that people watching can learn quite a bit.
Did you know that Texas, home of Big Oil, produces slightly more than 10% of it's power from wind, about 14,098 MW according to wikipedia. They're the nation's leader in wind energy. Florida does solar better than anyone else, and for overall green energy, Washington (via dams, mostly).
In a related tangent, California claims to get almost 5% of their power from wind, though they only produce 5,917 MW from theirs, and have about 10 million more people, so somewhere, something doesn't add up.
My guess is that a lot of these "% power" claims, including the one in the article, come down more to clever accounting than actual, literal green draw.
I'm not sure why it seems psychologists are prone to this, or if it's just the nature of media and headline-grabbing pop-psychology, but I see these sorts of statements pretty often from this sector.
It's so very very hard to figure out what is making a person do what they're doing. We have problems figuring it out with rats in labs, and the best we have there is usually speculation and strong correlation. Humans are a whole other degree of complexity. Of course, with the rats, people are trying to do actual science: coming up with experimentally verifiable hypotheses, providing proper control and test groups, eliminating variables, and performing proper scientific testing. It's very hard to do well, and you rarely get more than confirmation of a component of a behavior.
Yet you see psychologists with years in their field making professional statements on to the nature of culture and individuals with absolutely no rigorous scientific study, with only their personally experienced anecdotal data and an obviously heavily biased opinion to support them.
There are a lot of things that have changed in the last 10, 20, 30... etc years when it comes the environment, manner, and culture in which children are raised. The internet and smart phones are just one part. Western nations have steadily been nurturing a culture of entitlement while removing sources of apparent confrontation and competition, which together may result in children who lack the ability to cope with difficult situations. Maybe the fact that it's now considered child abuse to spank (beat) your child? Perhaps the increased likelihood for parents to seek psychological help for their children along with a chemical fix? How about the longer and longer workday, or the increase in divorce rates? All the news about the low salaries and lack of jobs coupled with the price of education and the blame and mistrust of government and businesses, broadcast back at us 24/7 on every media available might affect one's behavior.
If we're going to claim it's cell phones, there's an awful lot of work that needs to be done to eliminate every other possibility - or at least the reasonable ones - first, and that's just not being done.
Perhaps it's unfair to label all of them, but this is one reason why people don't consider psychologists "real doctors". You see them make asinine statements like this.
I see lots of responses from folks attacking the flippant parts of Linus's comments like they were deciding factors. This tells me that you're not getting it. Maybe you've never used C++ for significant projects, or really only relied on the C-like portions of C++ and eschewed the other stuff.
The fact is, he barely even touched upon the real problems with C++, only mocked and ridiculed people who favor it. This wasn't an argument, this was just an insult.
However, if you want reasons, you can get them from one of the best sources possible. Find or purchase a copy of Effective C++ and More Effective C++ and while you're reading them, keep track of all the 'gotchas' that will tank your programs. From accidentally instantiating a dozen copies of an object to double-freeing it, you should swiftly realize that most of the code you wrote was a time bomb, hidden away in a layer or two of abstraction. That 98% of the code you've ever seen that's larger than a handful of classes is like this.
If that's not enough for you, look up the various ISO/IEC standards, and look for all the parts that are explicitly aimed at reducing ambiguity. From the start, C++ has undefined behaviors built right in, leaving it to the compiler to determine how syntactically correct code will perform. They're still trying to fix them; I hear c++17 is on the horizon, but in 2007, it was just a field of landmines if you started using the advanced features like templating or multiple inheritance.
The short version is that it was not a very good language. In the race to produce "C with classes," delivery was prioritized over quality, new features rather than stability, and the standards committee, partly in an attempt to maintain backwards compatibility, has produced a fair mess with overly complex syntax.
I've written a lot of c++ code, and I can't believe anyone who also has would prefer it to C, or something newer like Java, C#, or even scripting languages. I really have to assume that if you really vehemently stick to it, you're either a C++ guru with a few books and a decade of conference presentations, or you're a novice who hasn't done enough to understand the limitations.
Actually, in many states, you must get permission to record. Police have used this against homeowners before when home owners were recording police committing crimes.
That aside, entrance into a public place or even private dwelling does not abdicate your rights to a certain amount of privacy.
We'll look back on the halcyon days of video cameras run by the government in every room (wait, wasn't that in 1984?) once they break out the personal surveillance suppository with GPS tracking and sexual position verifier, so you don't engage in any state-prohibited hanky panky!
Probably not a popular stance right now, but I break it out every time I see one of these sorts of issues popup.
Statistically - at least when I did a decade plus search for rape convictions after the UVA scandal - it's much more dangerous to be in a dorm room or student apartment than in a fraternity house or participate in a fraternity event. The same appears to be true for assault. It's harder to come up with numbers for alcohol poisoning and death; those are rarely disclosed except in the context of a party held by an organization, be it fraternity, sports team, or other.
That is, fraternities have a lower incident rate than the norm. These acts happen in fraternties less often than in the general student body. Not that they don't happen, but rather, that they happen less. This is not just raw numbers either, but even per-capita, and still many orders of magnitude different.
I'm guessing the same goes for racism, but I have no way to get numbers on that.
Now a days, when the threat of suspension, dissolution, or expulsion hangs over their heads for activities that would result in little more than an eye roll and a head shake if a non-organization member did it, these greek orgs are especially careful. There's their parent organization - made up of graduate members - telling them what to do or be penalized, fined, or dissolved. There's the greek council, watching everything they do, ready to cut an org out as soon as there's even the merest hint of scandal, to save themselves. There's over 40 years of tv shows and movies continually painting fraternities as the bad guys, the despicable and snooty handsome jock rich kids for our hero underdogs to fight, so they're constantly fighting an uphill battle.
That's why the parent organization dissolved that chapter even before names came out. It's zero tolerance in an apparent fight to survive.
Those of you who have not actually tried to examine fraternities, for good or ill, and only accept what talking heads state as truth won't actually realize that they're so strictly internally policed.
In fact, the only reason we're calling it a 'scandal' and it appears in the public eye is because an organization makes up a larger target than an individual. The 2006 Duke rape case was nothing, when it was a bunch of guys in a privately rented house, but when they found out that it was 'the entire duke lacrosse team had gang-raped a minority!' then it was made high-profile and public.
Make sure to treat each event like this like you should every other piece of information that comes at you. Reserve judgement, investigate, educate yourself on the context, and try not to be a bigot and generalize. These chumps might be racist jacklegs, but they're a small percentage.
The problem you're having isn't a whiteboard issue. It's not technology. It's that you're only getting half the message.
You may not be aware of it, but person-to-person communication is extremely high bandwidth. It's so high that we rarely even recognize the component parts of it, and only come up with little more than a mux generalization, like "they're angry" or "they're unsure". Our minds look at someone's stance and posture, at the speed they're blinking, where their eyes are looking, whether or not there's a nearly imperceptible pause when they're about to say certain words, subconscious muscle tics, and so on, and it passes through this great big neural net and some sort of amazing transformation happens and we get discrete knowledge out the other end. What's more, what they're doing is always going to partially be a response to what we're doing; we're providing real time feedback and both of us are adjusting ourselves accordingly. We're so good at it, that about 5 words into an introduction, we can usually tell if someone likes us or not.
On the other hand, a digital whiteboard, even with audio and video, we can't attempt to get this nuance or the feedback response that a person-to-person meeting allows. There's no way to send that much information successfully.
That's why no digital whiteboard will ever beat the real thing. Because these solutions do not allow you to see each varied nuance and react to them, and allow the other parties to do the same in turn. That's why a person-to-person meeting takes 5 minutes to cover what would go 30 minutes in a phone call. Or why video calls always seem to take far more time than you've allocated. That's why all those business types are always doing face to face meetings and ignoring 90% of our technical advances down here in the trenches of engineering, where we're trying not only to solve a problem with technology poorly, but we're not even aware of what the problem actually is.
Let me sum it up for you; there is no technological replacement that comes close to the clarity and efficiency possible - and likely - in a face to face.
Every few years, we have a new latest and greatest. A few years ago it was ruby on rails, then it seemed python was starting to come into it's own, and now it's node.js. At one point in time, in the mid 90's, it was actually Java. If you can imagine, Applets were actually a big deal.
Programmers flock to these in droves because, being new(ish), it attracts proselytizers who overhyper and oversell it, authors to write about it, articles about it, speakers to present it, a race to be seen as an expert in it, etc. New means 'new opportunities' so there's a rush to fill this hole that's already been filled in other languages/frameworks. Lots of activity.
All this attention, and it being new makes it a toy to play with and something to trick the boss into agreeing to use, so you have an excuse to use it. Some small number of folks will end up dealing with it for a bit, but then they drop it when something newer - and thus more interesting and exciting - comes out. Check out the TIOBE index for what's happened to Ruby lately.
But here's the real reason this isn't a battle. Java was not a language, it was a product. Every part of it was made to sell - not to developers, specifically - but to businesses. Here is an end-to-end solution, with certification, a training program, literature, professional advocates that will travel to conferences, your company, programming competitions, and local java users groups - in fact, they'll sponsor them. They'll pay for flashy commercials, and take out ads in trade magazines, and get companies to include the java logo on their software. They'll provide support contracts and expert help, and they'll push Java as a brand.
It's not a toy. It doesn't stick because it's cool and new and neat, it sticks because now there's money behind it and it's cheaper not to change much. That's why we still have Cobol around, isn't it?
So, Java's already been sold to the big dogs, the guys with money who make decisions. It's embedded into the corporate hierarchy, and outside of a few side projects and startups, it's not competing with Node.js at all. Node.js will make it's splash, and in 2 years, we'll all be jazzed about something else, while the cobal, c, c#, java, and other legacy frameworks just keep chugging along with the majority shares.
They've already been breaking into homes, businesses, embassies, and so on. Ethically, stealing information is stealing information - the only difference here is in level of effort in both acquiring and sifting through it.
Don't you think they're implying that they will black-hood disappear you, and then beat you with sticks until you provide the information they want? That seems like an obviously ethically 'worse' situation.
My first CS in college was like this. The teacher was very high and mighty into the theory. Pure academic.
"Computer Science," he said, "does not require computers." "When I wrote my first program, it was with pen and paper, and that's all you'll ever need."
So we ended up learning the same way, an introductory computer course where the first half was lambda calculus & church encoding, and the second half was functional programming with APL using an onscreen keyboard emulator since half the keys don't exist on a normal keyboard.
It was a crappy way to learn, and I'm sure it did it's job to weed out half of the 300 or so students that had to take it their freshman year. In fact the only thing I really learned is that just because someone has a huge body of knowledge, it in no way qualifies them to be a teacher, much less a competent teacher.
GOTO is not immediately bad. It's simply a warning that the code might not be well organized, as language constructs already provide that functionality in more encapsulated forms.
You've been coding for 30 years, so you've seen the OO folks pop up and yell and screech that without an explicit (sometimes they use the phrase 'pure', but rarely) OO language, coding can't be done at all! Like, how could you organize with only dumb structs and functions? Java really ruined a lot of people in that aspect, making design patterns a required part of their certification without explaining that they're just communication shorthand, as opposed to say, required, explicit class names. I occasionally have to fight someone with "pattern prejudice," like this, and it's always an uphill battle combating ignorance.
GOTO is just like that, only with folks using the slightly higher level languages screeching at those coming from assembly, or those who didn't have to worry about reserving/jmping to high memory.
But what do they know? If a program can't rewrite it's own code, what good is it?
The two top languages you should not learn by example are Javascript and PHP. In both cases, the low barrier to entry means that there's a wealth of code, but the average quality is extremely low.
Not only that, Javascript is a poorly understood language, even by those who spend a lot of time with it. You'll likely end up learning coding by ritual instead of understanding why it works - and more importantly, why when you do it, it doesn't. It's like trying to learn ruby by starting with an RoR app coded by people who think the framework is the only architectural decision that needs to be made.... which is most of them, apparently.
Javascript might be the next BASIC. "If you teach your students Javascript first, it will ruin them."
That being said, with a set of very rigid, predefined set of exercises and test environments, it could be one of the best for learning. Within a web browser, you have an incredibly simplified, easy to manipulate UI, putting it far ahead of any other language with graphical controls, and the immediate feedback from evaluating scripts means experimentation and discovery are built into the combined platform.
The problem, as I see it, is the functional aspects of the language. It's too big of a jump to have a new to-be-programmer learning functional programming before they've got a handle on writing programs that already mimic the procedural way they think.
So just avoid those aspects, and the other 98% of it that was badly done, and you've got a great choice.
In my experience, 'serious' mathematical crunching, people tend to use fortran. The array-based nature of it also makes parallelizing fairly straightforward. There are random popular libraries or frameworks that do some of what folks have had in fortran for decades, but they usually all fall flat when it comes to the heavy lifting, like SciPy, or has licensing or costs issues, like MATLAB.
On the other hand, I agree with you on prototyping in a scripting language. I used that technique myself many times, and it's great for proof of concept and initial architecture design. Also with scripting languages for general purpose code. Heck, I don't think I've updated my 'bundle of libraries I've written that I carry around to every job' in almost a decade. All that's built in to a scripting language already, or installable with a single command line directive.
Until I used the page tools to add a p { color: black; } to the page, I realized I was unconsciously squinting a bit to read the #888 font on a #FFF background.
Who makes whole paragraphs look greyed out? Seriously. May as well make it all caps.
I read a study (that I can't find online) that compared sole owners of small businesses by gender, showing the standard male advantage in terms of profits and such, and then subdivided by motivations. One of the differences - cultural origin or not - was that men valued financial success greater than women, who preferred things such as flexible work hours, family priorities, and so on.
The surprise was that within these subdivisions, women generally outperformed men. Those who were most motivated by happiness - women were more happy. Those who wanted flexibility - women provided more flexibility. Most strikingly, for those who had financial success - women outperformed the men.
In a culture where we have a gender wage gap, it's hard to claim that women are culturally selected for when it comes to financial success, yet they beat the men. It could be application of cultural norms resulting in better communication, resulting in better success in any endeavors relying on interpersonal interaction, but along the backdrop of higher success rates for college, higher rates of advancement in management, and mirrored trends in other non-repressive countries, it forms part of a larger pattern that seems to strongly suggest that these are genetic differences, and that they have a significant impact.
Besides, we know from studying other primates that there are behavioral differences in genders, there's no reason to expect that we wouldn't have the same proclivities.
What's more interesting to me is that we're well into the transition between societies where stereotypical male traits (aggression, etc) are advantageous, and into one where other traits we could call stereotypically female (such as ability to communicate or emphasize) are becoming key. Perhaps we'll see western society flip these norms in the next 100 years or so? Let's just hope we don't end up wearing silly outfits like they did on Angel One (ST:TNG reference).
I immediately considered the impact of this study on what we know about Agile development.
While I genuinely like the agile development concepts, I foresaw some fundamental problems with it. One of the major keystone values is a reliance on person-to-person and person-to-group communications. Something that, stereotypically, those in the software industry are not very keen on, and are rarely hired for.
If we believe this study, and deep interpersonal skills(*) are required to effectively leverage a team, it sure puts agile in a precarious position.
Perhaps this is why the current studies show that the current highly reliable best-performing methods appear to be a combination of waterfall and agile, providing a more concrete framework within which important interactions are explicitly structured, and not simply directed at a high level. When you have to rely on a tertiary set of skills for success, it makes sense to compensate for them as well as you can.
As a side note though, specialization is compatible with agile methodology. The dev team as a whole determines work effort, estimates, and how to complete a task. In general though, you'll likely have someone who's better at databases than others, or qa, or code, or is the domain knowledge expert. Tasks are organically sorted within the group, usually by the lines of efficiency. Not always though, just most of the time. So you can have a low-performing sprint if it's a task only suitable for a single individual. The group will still finish it as quickly as possible, and not any sooner.
(*) - I like how Neil Stephenson put it when regarding face-reading: "I don’t know how my face conveyed that information, or what kind of internal wiring in my grandmother’s mind enabled her to accomplish this incredible feat. To condense fact from the vapor of nuance."
What caught me was the claim that they printed it all in a day. Concrete of any quality quick-drying fast enough to sustain the weight of a whole building, vertically? Really?
No, of course not.
They're only talking about the walls, and they're making them off site. The same process is used for any prefab concrete structure. What upholds their claim that they're using 3-D printing comes in that they can make any combination of shapes quickly and easily, without the need for a custom mold or form. Instead of setting all that up, it's just computer controlled - thus the actual gain, an 80% reduction in labor.
As others have noted though, we only have the company's word that it's safe. It doesn't seem like it has an internal rebar framework, or anything to sufficiently replace it...
Education policy is not the domain of those who understand education - it's decided by politicians at nearly every level. Everything from what will be taught, to the books we use, to the structure of classes and rating systems meant to produce specific results without any real understanding of how those results are achieved or the real impact of them. They also can't make radical leaps - anything that might fail would result in losing their position, so they stick to minor modifications to existing systems - so there's no disruptive changes possible, as per Ken Robinson[1].
All that while fighting through often biased or partisan processes that result in, for example, including religion and denouncing evolution in Texas schoolbooks. In fact, you can say that government run institutions are process-driven more than anything else.
On the other hand, businesses are results driven. A business that does not produce product will shortly cease to be a business. That mechanism lends itself well to tackling any problem, even if it often discards moral or ethical considerations as not being part of the problem scope. So while their primary focus is of course, profits rather than education, when education is a requirement for profits, they're both well situated and motivated to provide that.
They can even take risks, with the knowledge that success will reward them many times over. So new styles of education are realistically evaluated and considered.
That's the nice part about capitalism. We can rely on human greed and ingenuity to produce almost any result, so long as we're able to figure out how to make it a requirement for fiscal success, whereas the political systems are motivated to not take chances and not to rock the boat, while at the same time claiming to be a boat-rocker.
So yeah, there's some PR gain in there for those companies, but that's just icing on the cake compared to their main benefit from supporting or redefining education.
I don't believe that lowering average programmer salary is either the sole or primary motivator for this trend, even for businesses alone, much less other groups.
Businesses need more developers, and they haven't got them. It's as simple as that. The focus on women is simply the most efficient way to do it since they're vastly underrepresented in the field - every dollar spent on encouraging women nets more potentials than on men. It's just good ROI. The fact that it's a social currency is just icing on the cake.
Educators can see that it requires about half as much effort to achieve the skills that will provide an entry level job at about twice the pay of similar white collar jobs; again, good ROI. Not only that, there's a wealth of freely available training material, literally thousands of hours of tutorials from simplistic to horrifically complex. Free online courses, making this available across cultural and social lines. There are people living in war zones that are learning to program!
Programming education is good political currency for politicians too. Businesses and constituents appreciate more jobs and skilled workers. Minority groups appreciate the inclusive nature and extra focus. The boost to the economy & the lowering of unemployment together make for a better tax base, and so on.
Last, the worker themselves get great benefits. A low-stress white collar job with good security, reasonable hours, decent benefits, high pay, and preferential treatment to minorities, all for very little actual training.
Really, there's almost no downside in the current social, political, or economic climate. Rather, what has confused me is why everyone isn't already learning to program. I don't know anyone who wants to make a career in any consistently low paying job, much less a blue collar one involving physical labor, yet so few appear to take advantage of the opportunities presented in the field of software development.
Not specifically. Dark Elves in the elder scrolls universe are just another race of 'mer' with no innate evil or goodness. Technically even the dwarves and orcs are mer-types, what you'd consider 'elves': http://elderscrolls.wikia.com/...
At the point of the the skyrim game, dark elves are basically Haitian refugees, as their entire country has gone to hell and is covered in yards of black ash from a volcano. People hate them because they're penniless, non-job-having, homeless beggars who often resort to thievery. They don't even burn as well as other races because of some innate fire resistance.... but they do eventually burn.
JQuery is just encapsulating some primarily dom-related javascript mainpulation routines with the added bonus that they try to eliminate browser differences. So, when you're saying that the browser provides features that jquery was needed for, you're really saying that the browser does things that javascript is no longer needed for.
I'm just not seeing it though. With pure HTML & CSS and a fancy new browser, can I:
Write ajax requests and parse and conditionally apply the results to various page elements?
Dynamically add and remove elements?
Perform liquid resizing based on a layout approach with glue elements and fixed-but-scalable areas - that is dependent upon the size of other elements rather than explicit browser viewport height/width?
How about perform custom input box validation?
Maybe set the value of a text box only when a value in a linked select box is changed?
Pop up a dialog when a button is clicked?
Start an image upload when you drag an image over a browser region?
In the age of ever-closer-to-desktop-application websites, I'm only seeing more and more use of javascript frameworks - of which jquery is one - and frankly I don't see how anyone could do without it. Maybe if you're making static brochure sites, I suppose, but then you weren't using javascript for that anyway.
Maybe the original poster meant to say "is it worth learning jquery instead of another framework or library" ? Otherwise I can't see anyone who actually creates web applications for a living even asking this.
The "actual law" often says that discrimination is behavior towards a member of a legally recognized minority on the basis of their membership in said legally minority. Of course it varies state to state and between municipalities, but that's usually the language of it. It's only the general, unwritten interpretation that provides the vague assurances of "racial discrimination is illegal" or "gender discrimination is illegal" or similar nice-sounding definitions.
Unfortunately, 'male' and 'white' are not legally recognized minorities, so by many actual, written laws, you cannot discriminate against someone if you disadvantage them because they are either white, or male, in the same way that it's not discrimination if you only hire the deaf over the non-hearing-disabled.
The same is true of the legal definition of rape in some states; rape is only defined as a male penetrating a female. All other combinations (man/man, female/female, female on man) is considered a lesser form of sexual assault. In these places, a female can never be charged with rape.
There's a big difference between a teaching environment where the teacher can learn something, and a presentation-based teaching environment. Without real time feedback, exposure to the ideas of others, and having to explain things to novices, it's just a vocalization of the thoughts you already had. Maybe you'll get some organizational benefit out of it, but really the teacher is not learning anything.
I skimmed through a few of his videos, and I didn't explicitly see where he was responding to a chat log or taking questions. Perhaps I missed it, but it seems like mostly what he's doing is presenting, not teaching, and so I doubt he's learning anything.
On the other hand, I do think that people watching can learn quite a bit.
Did you know that Texas, home of Big Oil, produces slightly more than 10% of it's power from wind, about 14,098 MW according to wikipedia. They're the nation's leader in wind energy. Florida does solar better than anyone else, and for overall green energy, Washington (via dams, mostly).
In a related tangent, California claims to get almost 5% of their power from wind, though they only produce 5,917 MW from theirs, and have about 10 million more people, so somewhere, something doesn't add up.
My guess is that a lot of these "% power" claims, including the one in the article, come down more to clever accounting than actual, literal green draw.
I'm not sure why it seems psychologists are prone to this, or if it's just the nature of media and headline-grabbing pop-psychology, but I see these sorts of statements pretty often from this sector.
It's so very very hard to figure out what is making a person do what they're doing. We have problems figuring it out with rats in labs, and the best we have there is usually speculation and strong correlation. Humans are a whole other degree of complexity. Of course, with the rats, people are trying to do actual science: coming up with experimentally verifiable hypotheses, providing proper control and test groups, eliminating variables, and performing proper scientific testing. It's very hard to do well, and you rarely get more than confirmation of a component of a behavior.
Yet you see psychologists with years in their field making professional statements on to the nature of culture and individuals with absolutely no rigorous scientific study, with only their personally experienced anecdotal data and an obviously heavily biased opinion to support them.
There are a lot of things that have changed in the last 10, 20, 30 ... etc years when it comes the environment, manner, and culture in which children are raised. The internet and smart phones are just one part. Western nations have steadily been nurturing a culture of entitlement while removing sources of apparent confrontation and competition, which together may result in children who lack the ability to cope with difficult situations. Maybe the fact that it's now considered child abuse to spank (beat) your child? Perhaps the increased likelihood for parents to seek psychological help for their children along with a chemical fix? How about the longer and longer workday, or the increase in divorce rates? All the news about the low salaries and lack of jobs coupled with the price of education and the blame and mistrust of government and businesses, broadcast back at us 24/7 on every media available might affect one's behavior.
If we're going to claim it's cell phones, there's an awful lot of work that needs to be done to eliminate every other possibility - or at least the reasonable ones - first, and that's just not being done.
Perhaps it's unfair to label all of them, but this is one reason why people don't consider psychologists "real doctors". You see them make asinine statements like this.
I see lots of responses from folks attacking the flippant parts of Linus's comments like they were deciding factors. This tells me that you're not getting it. Maybe you've never used C++ for significant projects, or really only relied on the C-like portions of C++ and eschewed the other stuff.
The fact is, he barely even touched upon the real problems with C++, only mocked and ridiculed people who favor it. This wasn't an argument, this was just an insult.
However, if you want reasons, you can get them from one of the best sources possible. Find or purchase a copy of Effective C++ and More Effective C++ and while you're reading them, keep track of all the 'gotchas' that will tank your programs. From accidentally instantiating a dozen copies of an object to double-freeing it, you should swiftly realize that most of the code you wrote was a time bomb, hidden away in a layer or two of abstraction. That 98% of the code you've ever seen that's larger than a handful of classes is like this.
If that's not enough for you, look up the various ISO/IEC standards, and look for all the parts that are explicitly aimed at reducing ambiguity. From the start, C++ has undefined behaviors built right in, leaving it to the compiler to determine how syntactically correct code will perform. They're still trying to fix them; I hear c++17 is on the horizon, but in 2007, it was just a field of landmines if you started using the advanced features like templating or multiple inheritance.
The short version is that it was not a very good language. In the race to produce "C with classes," delivery was prioritized over quality, new features rather than stability, and the standards committee, partly in an attempt to maintain backwards compatibility, has produced a fair mess with overly complex syntax.
I've written a lot of c++ code, and I can't believe anyone who also has would prefer it to C, or something newer like Java, C#, or even scripting languages. I really have to assume that if you really vehemently stick to it, you're either a C++ guru with a few books and a decade of conference presentations, or you're a novice who hasn't done enough to understand the limitations.
Actually, in many states, you must get permission to record. Police have used this against homeowners before when home owners were recording police committing crimes.
That aside, entrance into a public place or even private dwelling does not abdicate your rights to a certain amount of privacy.
We'll look back on the halcyon days of video cameras run by the government in every room (wait, wasn't that in 1984?) once they break out the personal surveillance suppository with GPS tracking and sexual position verifier, so you don't engage in any state-prohibited hanky panky!
Probably not a popular stance right now, but I break it out every time I see one of these sorts of issues popup.
Statistically - at least when I did a decade plus search for rape convictions after the UVA scandal - it's much more dangerous to be in a dorm room or student apartment than in a fraternity house or participate in a fraternity event. The same appears to be true for assault. It's harder to come up with numbers for alcohol poisoning and death; those are rarely disclosed except in the context of a party held by an organization, be it fraternity, sports team, or other.
That is, fraternities have a lower incident rate than the norm. These acts happen in fraternties less often than in the general student body. Not that they don't happen, but rather, that they happen less. This is not just raw numbers either, but even per-capita, and still many orders of magnitude different.
I'm guessing the same goes for racism, but I have no way to get numbers on that.
Now a days, when the threat of suspension, dissolution, or expulsion hangs over their heads for activities that would result in little more than an eye roll and a head shake if a non-organization member did it, these greek orgs are especially careful. There's their parent organization - made up of graduate members - telling them what to do or be penalized, fined, or dissolved. There's the greek council, watching everything they do, ready to cut an org out as soon as there's even the merest hint of scandal, to save themselves. There's over 40 years of tv shows and movies continually painting fraternities as the bad guys, the despicable and snooty handsome jock rich kids for our hero underdogs to fight, so they're constantly fighting an uphill battle.
That's why the parent organization dissolved that chapter even before names came out. It's zero tolerance in an apparent fight to survive.
Those of you who have not actually tried to examine fraternities, for good or ill, and only accept what talking heads state as truth won't actually realize that they're so strictly internally policed.
In fact, the only reason we're calling it a 'scandal' and it appears in the public eye is because an organization makes up a larger target than an individual. The 2006 Duke rape case was nothing, when it was a bunch of guys in a privately rented house, but when they found out that it was 'the entire duke lacrosse team had gang-raped a minority!' then it was made high-profile and public.
Make sure to treat each event like this like you should every other piece of information that comes at you. Reserve judgement, investigate, educate yourself on the context, and try not to be a bigot and generalize. These chumps might be racist jacklegs, but they're a small percentage.
The problem you're having isn't a whiteboard issue. It's not technology. It's that you're only getting half the message.
You may not be aware of it, but person-to-person communication is extremely high bandwidth. It's so high that we rarely even recognize the component parts of it, and only come up with little more than a mux generalization, like "they're angry" or "they're unsure". Our minds look at someone's stance and posture, at the speed they're blinking, where their eyes are looking, whether or not there's a nearly imperceptible pause when they're about to say certain words, subconscious muscle tics, and so on, and it passes through this great big neural net and some sort of amazing transformation happens and we get discrete knowledge out the other end. What's more, what they're doing is always going to partially be a response to what we're doing; we're providing real time feedback and both of us are adjusting ourselves accordingly. We're so good at it, that about 5 words into an introduction, we can usually tell if someone likes us or not.
On the other hand, a digital whiteboard, even with audio and video, we can't attempt to get this nuance or the feedback response that a person-to-person meeting allows. There's no way to send that much information successfully.
That's why no digital whiteboard will ever beat the real thing. Because these solutions do not allow you to see each varied nuance and react to them, and allow the other parties to do the same in turn. That's why a person-to-person meeting takes 5 minutes to cover what would go 30 minutes in a phone call. Or why video calls always seem to take far more time than you've allocated. That's why all those business types are always doing face to face meetings and ignoring 90% of our technical advances down here in the trenches of engineering, where we're trying not only to solve a problem with technology poorly, but we're not even aware of what the problem actually is.
Let me sum it up for you; there is no technological replacement that comes close to the clarity and efficiency possible - and likely - in a face to face.
Every few years, we have a new latest and greatest. A few years ago it was ruby on rails, then it seemed python was starting to come into it's own, and now it's node.js. At one point in time, in the mid 90's, it was actually Java. If you can imagine, Applets were actually a big deal.
Programmers flock to these in droves because, being new(ish), it attracts proselytizers who overhyper and oversell it, authors to write about it, articles about it, speakers to present it, a race to be seen as an expert in it, etc. New means 'new opportunities' so there's a rush to fill this hole that's already been filled in other languages/frameworks. Lots of activity.
All this attention, and it being new makes it a toy to play with and something to trick the boss into agreeing to use, so you have an excuse to use it. Some small number of folks will end up dealing with it for a bit, but then they drop it when something newer - and thus more interesting and exciting - comes out. Check out the TIOBE index for what's happened to Ruby lately.
But here's the real reason this isn't a battle. Java was not a language, it was a product. Every part of it was made to sell - not to developers, specifically - but to businesses. Here is an end-to-end solution, with certification, a training program, literature, professional advocates that will travel to conferences, your company, programming competitions, and local java users groups - in fact, they'll sponsor them. They'll pay for flashy commercials, and take out ads in trade magazines, and get companies to include the java logo on their software. They'll provide support contracts and expert help, and they'll push Java as a brand.
It's not a toy. It doesn't stick because it's cool and new and neat, it sticks because now there's money behind it and it's cheaper not to change much. That's why we still have Cobol around, isn't it?
So, Java's already been sold to the big dogs, the guys with money who make decisions. It's embedded into the corporate hierarchy, and outside of a few side projects and startups, it's not competing with Node.js at all. Node.js will make it's splash, and in 2 years, we'll all be jazzed about something else, while the cobal, c, c#, java, and other legacy frameworks just keep chugging along with the majority shares.
They've already been breaking into homes, businesses, embassies, and so on. Ethically, stealing information is stealing information - the only difference here is in level of effort in both acquiring and sifting through it.
Don't you think they're implying that they will black-hood disappear you, and then beat you with sticks until you provide the information they want? That seems like an obviously ethically 'worse' situation.
My first CS in college was like this. The teacher was very high and mighty into the theory. Pure academic.
"Computer Science," he said, "does not require computers." "When I wrote my first program, it was with pen and paper, and that's all you'll ever need."
So we ended up learning the same way, an introductory computer course where the first half was lambda calculus & church encoding, and the second half was functional programming with APL using an onscreen keyboard emulator since half the keys don't exist on a normal keyboard.
It was a crappy way to learn, and I'm sure it did it's job to weed out half of the 300 or so students that had to take it their freshman year. In fact the only thing I really learned is that just because someone has a huge body of knowledge, it in no way qualifies them to be a teacher, much less a competent teacher.
GOTO is not immediately bad. It's simply a warning that the code might not be well organized, as language constructs already provide that functionality in more encapsulated forms.
You've been coding for 30 years, so you've seen the OO folks pop up and yell and screech that without an explicit (sometimes they use the phrase 'pure', but rarely) OO language, coding can't be done at all! Like, how could you organize with only dumb structs and functions? Java really ruined a lot of people in that aspect, making design patterns a required part of their certification without explaining that they're just communication shorthand, as opposed to say, required, explicit class names. I occasionally have to fight someone with "pattern prejudice," like this, and it's always an uphill battle combating ignorance.
GOTO is just like that, only with folks using the slightly higher level languages screeching at those coming from assembly, or those who didn't have to worry about reserving/jmping to high memory.
But what do they know? If a program can't rewrite it's own code, what good is it?
The two top languages you should not learn by example are Javascript and PHP. In both cases, the low barrier to entry means that there's a wealth of code, but the average quality is extremely low.
Not only that, Javascript is a poorly understood language, even by those who spend a lot of time with it. You'll likely end up learning coding by ritual instead of understanding why it works - and more importantly, why when you do it, it doesn't. It's like trying to learn ruby by starting with an RoR app coded by people who think the framework is the only architectural decision that needs to be made. ... which is most of them, apparently.
Javascript might be the next BASIC. "If you teach your students Javascript first, it will ruin them."
That being said, with a set of very rigid, predefined set of exercises and test environments, it could be one of the best for learning. Within a web browser, you have an incredibly simplified, easy to manipulate UI, putting it far ahead of any other language with graphical controls, and the immediate feedback from evaluating scripts means experimentation and discovery are built into the combined platform.
The problem, as I see it, is the functional aspects of the language. It's too big of a jump to have a new to-be-programmer learning functional programming before they've got a handle on writing programs that already mimic the procedural way they think.
So just avoid those aspects, and the other 98% of it that was badly done, and you've got a great choice.
In my experience, 'serious' mathematical crunching, people tend to use fortran. The array-based nature of it also makes parallelizing fairly straightforward. There are random popular libraries or frameworks that do some of what folks have had in fortran for decades, but they usually all fall flat when it comes to the heavy lifting, like SciPy, or has licensing or costs issues, like MATLAB.
On the other hand, I agree with you on prototyping in a scripting language. I used that technique myself many times, and it's great for proof of concept and initial architecture design. Also with scripting languages for general purpose code. Heck, I don't think I've updated my 'bundle of libraries I've written that I carry around to every job' in almost a decade. All that's built in to a scripting language already, or installable with a single command line directive.
Until I used the page tools to add a p { color: black; } to the page, I realized I was unconsciously squinting a bit to read the #888 font on a #FFF background.
Who makes whole paragraphs look greyed out? Seriously. May as well make it all caps.
I wonder.
I read a study (that I can't find online) that compared sole owners of small businesses by gender, showing the standard male advantage in terms of profits and such, and then subdivided by motivations. One of the differences - cultural origin or not - was that men valued financial success greater than women, who preferred things such as flexible work hours, family priorities, and so on.
The surprise was that within these subdivisions, women generally outperformed men. Those who were most motivated by happiness - women were more happy. Those who wanted flexibility - women provided more flexibility. Most strikingly, for those who had financial success - women outperformed the men.
In a culture where we have a gender wage gap, it's hard to claim that women are culturally selected for when it comes to financial success, yet they beat the men. It could be application of cultural norms resulting in better communication, resulting in better success in any endeavors relying on interpersonal interaction, but along the backdrop of higher success rates for college, higher rates of advancement in management, and mirrored trends in other non-repressive countries, it forms part of a larger pattern that seems to strongly suggest that these are genetic differences, and that they have a significant impact.
Besides, we know from studying other primates that there are behavioral differences in genders, there's no reason to expect that we wouldn't have the same proclivities.
What's more interesting to me is that we're well into the transition between societies where stereotypical male traits (aggression, etc) are advantageous, and into one where other traits we could call stereotypically female (such as ability to communicate or emphasize) are becoming key. Perhaps we'll see western society flip these norms in the next 100 years or so? Let's just hope we don't end up wearing silly outfits like they did on Angel One (ST:TNG reference).
I immediately considered the impact of this study on what we know about Agile development.
While I genuinely like the agile development concepts, I foresaw some fundamental problems with it. One of the major keystone values is a reliance on person-to-person and person-to-group communications. Something that, stereotypically, those in the software industry are not very keen on, and are rarely hired for.
If we believe this study, and deep interpersonal skills(*) are required to effectively leverage a team, it sure puts agile in a precarious position.
Perhaps this is why the current studies show that the current highly reliable best-performing methods appear to be a combination of waterfall and agile, providing a more concrete framework within which important interactions are explicitly structured, and not simply directed at a high level. When you have to rely on a tertiary set of skills for success, it makes sense to compensate for them as well as you can.
As a side note though, specialization is compatible with agile methodology. The dev team as a whole determines work effort, estimates, and how to complete a task. In general though, you'll likely have someone who's better at databases than others, or qa, or code, or is the domain knowledge expert. Tasks are organically sorted within the group, usually by the lines of efficiency. Not always though, just most of the time. So you can have a low-performing sprint if it's a task only suitable for a single individual. The group will still finish it as quickly as possible, and not any sooner.
(*) - I like how Neil Stephenson put it when regarding face-reading: "I don’t know how my face conveyed that information, or what kind of internal wiring in my grandmother’s mind enabled her to accomplish this incredible feat. To condense fact from the vapor of nuance."
What caught me was the claim that they printed it all in a day. Concrete of any quality quick-drying fast enough to sustain the weight of a whole building, vertically? Really?
No, of course not.
They're only talking about the walls, and they're making them off site. The same process is used for any prefab concrete structure. What upholds their claim that they're using 3-D printing comes in that they can make any combination of shapes quickly and easily, without the need for a custom mold or form. Instead of setting all that up, it's just computer controlled - thus the actual gain, an 80% reduction in labor.
As others have noted though, we only have the company's word that it's safe. It doesn't seem like it has an internal rebar framework, or anything to sufficiently replace it ...
I was going to post this. It's not some secret, kept hidden from folks. It's just simply neither popular nor well known.
Education policy is not the domain of those who understand education - it's decided by politicians at nearly every level. Everything from what will be taught, to the books we use, to the structure of classes and rating systems meant to produce specific results without any real understanding of how those results are achieved or the real impact of them. They also can't make radical leaps - anything that might fail would result in losing their position, so they stick to minor modifications to existing systems - so there's no disruptive changes possible, as per Ken Robinson[1].
All that while fighting through often biased or partisan processes that result in, for example, including religion and denouncing evolution in Texas schoolbooks. In fact, you can say that government run institutions are process-driven more than anything else.
On the other hand, businesses are results driven. A business that does not produce product will shortly cease to be a business. That mechanism lends itself well to tackling any problem, even if it often discards moral or ethical considerations as not being part of the problem scope. So while their primary focus is of course, profits rather than education, when education is a requirement for profits, they're both well situated and motivated to provide that.
They can even take risks, with the knowledge that success will reward them many times over. So new styles of education are realistically evaluated and considered.
That's the nice part about capitalism. We can rely on human greed and ingenuity to produce almost any result, so long as we're able to figure out how to make it a requirement for fiscal success, whereas the political systems are motivated to not take chances and not to rock the boat, while at the same time claiming to be a boat-rocker.
So yeah, there's some PR gain in there for those companies, but that's just icing on the cake compared to their main benefit from supporting or redefining education.
[1] - See http://www.ted.com/talks/ken_r... ,
http://www.ted.com/talks/sir_k... ,
http://www.ted.com/talks/ken_r... ,
http://www.ted.com/talks/ken_r...
for some interesting thoughts on disrupting the existing educational systems.
I don't believe that lowering average programmer salary is either the sole or primary motivator for this trend, even for businesses alone, much less other groups.
Businesses need more developers, and they haven't got them. It's as simple as that. The focus on women is simply the most efficient way to do it since they're vastly underrepresented in the field - every dollar spent on encouraging women nets more potentials than on men. It's just good ROI. The fact that it's a social currency is just icing on the cake.
Educators can see that it requires about half as much effort to achieve the skills that will provide an entry level job at about twice the pay of similar white collar jobs; again, good ROI. Not only that, there's a wealth of freely available training material, literally thousands of hours of tutorials from simplistic to horrifically complex. Free online courses, making this available across cultural and social lines. There are people living in war zones that are learning to program!
Programming education is good political currency for politicians too. Businesses and constituents appreciate more jobs and skilled workers. Minority groups appreciate the inclusive nature and extra focus. The boost to the economy & the lowering of unemployment together make for a better tax base, and so on.
Last, the worker themselves get great benefits. A low-stress white collar job with good security, reasonable hours, decent benefits, high pay, and preferential treatment to minorities, all for very little actual training.
Really, there's almost no downside in the current social, political, or economic climate. Rather, what has confused me is why everyone isn't already learning to program. I don't know anyone who wants to make a career in any consistently low paying job, much less a blue collar one involving physical labor, yet so few appear to take advantage of the opportunities presented in the field of software development.
Not specifically. Dark Elves in the elder scrolls universe are just another race of 'mer' with no innate evil or goodness. Technically even the dwarves and orcs are mer-types, what you'd consider 'elves': http://elderscrolls.wikia.com/...
At the point of the the skyrim game, dark elves are basically Haitian refugees, as their entire country has gone to hell and is covered in yards of black ash from a volcano. People hate them because they're penniless, non-job-having, homeless beggars who often resort to thievery. They don't even burn as well as other races because of some innate fire resistance. ... but they do eventually burn.