1
0

Teaching everyone to code is delusional


 invite response                
2015 Jan 1, 5:45am   19,740 views  71 comments

by Heraclitusstudent   ➕follow (8)   💰tip   ignore  

http://singularityhub.com/2014/12/28/future-of-work-part-ii-why-teaching-everyone-to-code-is-delusional/

Since 2005, Ive been grappling with the issue of what to teach young people. Ive written curricula for junior high students in the US, for a UNICEF program reaching students in a dozen countries, and now, for East African young people as they become financially literate and business savvy. Through the years, Ive watched program directors demand young people focus on foolish content because it lined up with something trending in the public discourseunits on climate change; modules about using social media to share stories; lessons on agricultural policy; and so forth. What have I learned? The attention of a...

« First        Comments 57 - 71 of 71        Search these comments

57   Dan8267   2015 Jan 2, 4:01am  

Peter P says

Doubtful. The philosophy is quite different on many fronts. It even attempts to tackle multiple inheritance! And path-dependent types? :-)

How so? All Scala adds to multiple inheritance is an ordering of the preferred method calls for conflicting methods. I hardly call that a different philosophy.

In any case, I think we're about to get into a nomenclature argument, so let's not.

58   Dan8267   2015 Jan 2, 4:17am  

Peter P says

I hope you did not have to rely too much on reflection in 1995.

Java didn't have reflection back in 1995. Reflection was introduced in a language called Pizza which was an extension of Java in the same way that C++ is an extension of C. Later both .NET and Java incorporated reflection.

Reflection was incorporated in Java 5 back in 2004.

As for performance, if you ever had bad performance using reflection, it was because of how you were using it. You're not suppose to sit in a loop calling getClass() and getMethod(). You're suppose to reflect once and then use the reflection objects inside your loop or event handler.

59   Peter P   2015 Jan 2, 4:36am  

Dan8267 says

Java didn't have reflection back in 1995.

Reflection was in Java 1.1. It was simply refined and improved through the versions.

http://www.javaworld.com/article/2077015/java-se/take-an-in-depth-look-at-the-java-reflection-api.html

60   Peter P   2015 Jan 2, 4:38am  

Dan8267 says

What Microsoft should have done is broken backwards compatibility and made everything non-nullable by default requiring the end user to explicitly opt-in for nullable values with the ? token. That would have been a great improvement and worth breaking backwards compatibility for.

In F# you have to turn on a flag to allow nulls.

Auto-boxing in Java can be dangerous because of nulls.

Breaking backward compatibility is good for the art but bad for business.

61   Peter P   2015 Jan 2, 4:47am  

Dan8267 says

How so? All Scala adds to multiple inheritance is an ordering of the preferred method calls for conflicting methods. I hardly call that a different philosophy.

In any case, I think we're about to get into a nomenclature argument, so let's not.

Java only allows multiple interfaces with no data or methods. Scala allows at least limited multiple inheritance with methods.

But yes, let's not argue over nomenclature. :-)

62   Tenpoundbass   2015 Jan 2, 5:32am  

I don't get the semantics over type safe, and readability.
Either you understand that language syntax and can follow the code or you can't. The worst thing people do is comment and especially over comment, if you can't read the code either you did or inherited. Then you're not worth a shit at what you're doing, or the folks that you inherited the code form aren't worth a crap.

Now of course, my niche is in enterprise development. If I were doing stuff like creating an original game engine, graphics or sound format, or low level hardware development. Then my thoughts on that would all be different. 90% of the enterprise development done is an unnecessary dog and pony show, to keep up the illusion that any real Computer programming is actually going on.

Especially the commenting. If I have to comment a method called, get_customer_monthly_invoices, then somebody is really really worried about their goddamned job security.

63   Dan8267   2015 Jan 2, 6:01am  

Peter P says

Dan8267 says

Java didn't have reflection back in 1995.

Reflection was in Java 1.1. It was simply refined and improved through the versions.

My mistake. I must have been thinking of generics. Serves me right going on memory at my age.

Yeah, reflection was added in 1.1 in 1997.

64   Peter P   2015 Jan 2, 6:03am  

Dan8267 says

My mistake. I must have been thinking of generics. Serves me right going on memory at my age.

No worries. :-)

65   Dan8267   2015 Jan 2, 6:06am  

Peter P says

Breaking backward compatibility is good for the art but bad for business.

Transitioning from Java to Scala would be even more of a challenge for business than transitioning to a version of Java that requires some code changes and a new class format. That's why I'd rather take the best of Scala and put it in Java.

Besides, Java already competes with .NET. Adding another competitor will just fragment the market further making it harder for developers to cooperate. We don't need many platforms, just a few or even one really good one.

66   Peter P   2015 Jan 2, 6:18am  

Dan8267 says

Transitioning from Java to Scala would be even more of a challenge for business than transitioning to a version of Java that requires some code changes and a new class format. That's why I'd rather take the best of Scala and put it in Java.

True. However, Java and Scala can coexist peacefully on the JVM platform.

Judging from how long it took Java to incorporate lambda expressions I am not going to hold my breadth.

Dan8267 says

Besides, Java already competes with .NET. Adding another competitor will just fragment the market further making it harder for developers to cooperate. We don't need many platforms, just a few or even one really good one.

Even .NET has many languages (VB, C#, F#, etc). One more JVM language will not hurt. Both .NET and Java must compete with Ruby, Python, and JavaScript (especially node.js).

JavaScript is an interesting language. It tends to attract the best and the worst programmers.

67   Dan8267   2015 Jan 2, 6:28am  

Peter P says

Judging from how long it took Java to incorporate lambda expressions I am not going to hold my breadth.

It's a shame Oracle bought out Sun Microsystems. I was worried Java would slowly die because of that.

Peter P says

JavaScript is an interesting language. It tends to attract the best and the worst programmers.

JavaScript is unavoidable today. But you can develop correctly in it. You just have to ignore most of the language and stick with good design and implementation patterns.

By the way, JavaScript has nothing to do with Java. It's name comes from a marketing ploy. It was originally called LiveScript.

I wouldn't say .NET and Java compete with JavaScript. The later is used for client-side code in browsers. The former are used in server-side code and applications.

68   Dan8267   2015 Jan 2, 6:29am  

Peter P says

Even .NET has many languages (VB, C#, F#, etc).

And pointlessly so. I'd get rid of all but C#. But I don't want to get into a religious discussion...

69   Peter P   2015 Jan 2, 6:32am  

Dan8267 says

JavaScript is unavoidable today. But you can develop correctly in it. You just have to ignore most of the language and stick with good design and implementation patterns.

Yep. It is a highly flexible language with a few oddities.

Dan8267 says

I wouldn't say .NET and Java compete with JavaScript. The later is used for client-side code in browsers. The former are used in server-side code and applications.

Node.js is all the rage right now. It is a server-side technology.

I hope Dart will replace JavaScript soon.

70   Peter P   2015 Jan 2, 6:35am  

Dan8267 says

And pointlessly so. I'd get rid of all but C#. But I don't want to get into a religious discussion...

Nothing religious... but you may want to take a look at F#. Its closest cousin is probably OCaml. It has one of the best type systems as a mainstream-ish language.

71   Rin   2015 Jan 7, 6:18am  

http://www.centralvalleybusinesstimes.com/stories/001/?ID=27496

Excerpt

Businesses are investing more dollars in mobile and big data initiatives, and they need skilled technology and creative professionals to support these efforts

I love this word, "creative".

So a bunch of idiot MBA-ologist managers are suppose to figure out whose a "creative" hire?

Seriously, do ppl really believe this tripe?!

« First        Comments 57 - 71 of 71        Search these comments

Please register to comment:

api   best comments   contact   latest images   memes   one year ago   random   suggestions