The Artima Developer Community
Sponsored Link

Artima Developer Spotlight Forum
Scala is for good programmers

34 replies on 3 pages. Most recent reply: Oct 25, 2010 2:38 PM by Anatoly Polinsky

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 34 replies on 3 pages [ « | 1 2 3 | » ]
John Zabroski

Posts: 272
Nickname: zbo
Registered: Jan, 2007

Re: Scala is for good programmers Posted: Oct 1, 2010 8:48 AM
Reply to this message Reply
Advertisement
> VB was not the best thing that it can be done in helping
> pushing back the limits. There is a lot of room for
> improvement. The world needs programming languages both
> for expert programmers, so as that they create the truly
> interesting software and for average programmers so as
> that they create the boring but necessary software.

I don't think you are aware of the fact that average programmers will be obsolete in 20 years. Yes, really.

They won't be programmers. They will be business analysts. Pure IT people won't be in great demand. Good programmers will be.

Daniel Jimenez

Posts: 40
Nickname: djimenez
Registered: Dec, 2004

Re: Scala is for good programmers Posted: Oct 1, 2010 10:46 AM
Reply to this message Reply
> I don't think you are aware of the fact that average
> programmers will be obsolete in 20 years. Yes, really.
>
> They won't be programmers. They will be business
> analysts. Pure IT people won't be in great demand. Good
> programmers will be.

I often make the snide remark that Java is the Cobol of the 2000s (I'm a Java programmer currently), so I don't disagree.

But, besides that your crystal ball is less foggy than mine, what makes you think this is true? What trends are you seeing?

John Zabroski

Posts: 272
Nickname: zbo
Registered: Jan, 2007

Re: Scala is for good programmers Posted: Oct 1, 2010 10:56 AM
Reply to this message Reply
Most applications involve reading and writing results to a database, and many programmers in the past 20 years have been occupied with that.

The previous 10-30 years average programmers made a living selling Mailing Label software-style applications to small businesses, with maybe an ad-hoc small database.

Big companies like MSFT are getting very close to figuring out how to completely automate a lot of IT. There are still a lot of holes, but they are closing. There is much less emphasis on syntax these days and more emphasis on semantics. Interoperability has improved significantly. If you want to do something, there is a tool to do it for you.

The biggest barrier at this point is that most people don't understand distributed systems, especially the dynamically federated varieties. But this is not work for an average programmer.

Just look at ASP.NET Classic. It was a mistake and complete misunderstanding of the Web. Once a company like MSFT or Oracle develops something beyond Comet, it is game over for the average Java programmer. You're unemployed. Continuation-based servers, Ajax, Comet. The next logical step is to automatically optimize whether code goes on the client or server. That is happening right now thanks to general compiler-compiler frameworks like Microsoft Phoenix... the current design flaws can be considered small (frameworks like Volta do not understand the fallacies of distributed computing and the need for modeling inconsistency in the logicla definition of distributed systems).

The best MSFT's stack provides right now for "average programmers" is stuff like the data bound grid control... but if you look at future web browsers and current UI frameworks they are all GPU-accelerated and have extremely fast software rendering stacks and the engineers who are great programmers have become very good at understanding the bottlenecks in these systems through (a) profiling (b) never letting performance regress.

All these things point to the average programmer no longer being widely employed, much like they no longer write mailing label software in VB Classic.

John Zabroski

Posts: 272
Nickname: zbo
Registered: Jan, 2007

Re: Scala is for good programmers Posted: Oct 1, 2010 11:01 AM
Reply to this message Reply
It is also worth understanding storage. Parallelism and new storage -- multi-level hierarchical storage -- are friends of great programmers, and widen the gap between average and great.

Most applications that access a DB are just glorified CRUD or reporting. The technology exists today to have spreadsheet-like analysis the size of the Internet, it is just not widely available. The theory is there, it is just not open source implemented.

Average programmers will have to update their skill sets to become good programmers. On the IDE front, we'll see more focus on artistic people being able to leverage their skill sets and less of a need for programmers to write complicated "business logic".

John Zabroski

Posts: 272
Nickname: zbo
Registered: Jan, 2007

Re: Scala is for good programmers Posted: Oct 1, 2010 11:03 AM
Reply to this message Reply
Bottom line: programmers in the middle class need to study and become better programmers, lest unemployment raise.

Job statistics already show that low-end programming jobs have not been immune in this bad economy. What they don't show is that those jobs are never coming back to America.

Max Lybbert

Posts: 314
Nickname: mlybbert
Registered: Apr, 2005

Re: Scala is for good programmers Posted: Oct 4, 2010 10:16 AM
Reply to this message Reply
Indukumar got it right: "As most programmers think that they are good at programming, marketing [Scala] this way itself will bring lots of programmers in ;-)."

Literally everybody thinks they are above average. Programmers especially.

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: Scala is for good programmers Posted: Oct 4, 2010 11:06 AM
Reply to this message Reply
> Big companies like MSFT are getting very close to figuring
> out how to completely automate a lot of IT. There are
> still a lot of holes, but they are closing. There is much
> less emphasis on syntax these days and more emphasis on
> semantics. Interoperability has improved significantly.
> If you want to do something, there is a tool to do it for
> you.

John, do you work in IT or have a foot in it? I'm just not sure what any of this has to do with custom application development in IT.

The only truly reusable software applications (without customization) are those that are defined by regulatory requirements or have generic functionality.

I agree that over time the focus is moving away from syntax but that's never been the essence of programming. I also agree there will be a merging of business analyst and programmer but I think it's the BAs that will become programmers, not the other way around.

Max Lybbert

Posts: 314
Nickname: mlybbert
Registered: Apr, 2005

Re: Scala is for good programmers Posted: Oct 4, 2010 11:29 AM
Reply to this message Reply
> I don't think you are aware of the fact that average programmers will be obsolete in 20 years. Yes, really.

They've been saying this for 20 years, and I'm sure they will continue to say it for the next 20. Of course, since even John admits that there will be good programmers 20 years from now, then by definition there will be some sort of median good programmer and his statement falls apart.

OTOH, if you take the idea of an average programmer today and expect to find somebody with that same skillset gainfully employed as a programmer 20 years from now, then John is right that such a programmer would be unemployed. Of course a programmer trying to get a job today with a 20-year-old skillset isn't having much luck. Nor are any auto mechanics with 20-years-out-of-date skills, or bank tellers with 20-years-out-of-date skills, etc.

Clearly programming will change a lot in the next 20 years, although I doubt it will change in the way academics expect.

John Zabroski

Posts: 272
Nickname: zbo
Registered: Jan, 2007

Re: Scala is for good programmers Posted: Oct 6, 2010 11:23 AM
Reply to this message Reply
> John, do you work in IT or have a foot in it?

Everyone has a hard time believing I pay my bills working in IT, but I do. (Why is that?)

> I'm just not sure what any of this has to do with
> custom application development in IT.

Well, you don't need to be a great programmer to build a social networking website. But if you are building a distributed intelligence application, you need to know your stuff. You need to know your implementation language(s) and your computer science. A lot of the logic in such applications isn't "custom". It's straightforward computer science and computer engineering.

Max seems to dislike my comparison, and uses some bank teller comparisons. Bank tellers job descriptions do not change much. Certainly not on the scale of change that comes with static mailing labels vs. building distributed systems.

Maybe it is just me, but I can count on one hand truly great applications that blow away any competitors product. Other domains have simply not had the Killer App built yet. We're at a point in history where I see that changing. If you don't see this, then we're fundamentally disagreeing over outlook and forecasting and nothing else.

> I also agree there will be a merging of business
> analyst and programmer but I think it's the BAs that
> will become programmers, not the other way around.

Distinctions that don't make a difference.

robert young

Posts: 361
Nickname: funbunny
Registered: Sep, 2003

Re: Scala is for good programmers Posted: Oct 6, 2010 11:56 AM
Reply to this message Reply
> Visual Basic helped (or I suppose, helps) make programming
> accessible to people who aren't trained as programmers,
> and aren't very sophisticated at it. People who are smart,
> but just trained in other things: business, interior
> decorating, designing airplane wings---whatever.

Not really. Excel and Access are for those people; aero engineers would likely take exception to being lumped in with frothy interior decorators. Aero engineers generally still write some dialect of FORTRAN, anyway.

Before there was VB, there was Professional Basic, whose purpose was to a robust implementation of GW Basic. VB was designed to remove the necessity of writing all that boilerplate code demanded by C/C++ in the course of building a Win application. It followed, more or less, the PB syntax. The RAD GUI designing bits were where the boilerplate was removed... if your application could live with the widgets and support built in. The same restriction exist[ed/s] in 4GLs: provide the boilerplate behind the scenes (under the compiler) for a defined set of widgets and support. Much the same is true of java/C#, for that matter. How many folks write new widgets in either?

The current VB is largely C# both syntactically and semantically, and thus not well received by VB5/6 adepts. It is a "real" programming language, not suited to interior designers.

robert young

Posts: 361
Nickname: funbunny
Registered: Sep, 2003

Re: Scala is for good programmers Posted: Oct 6, 2010 12:00 PM
Reply to this message Reply
> > I don't think you are aware of the fact that average
> > programmers will be obsolete in 20 years. Yes, really.
> >
> > They won't be programmers. They will be business
> > analysts. Pure IT people won't be in great demand.
> Good
> > programmers will be.
>
> I often make the snide remark that Java is the Cobol of
> the 2000s (I'm a Java programmer currently), so I don't
> disagree.
>
> But, besides that your crystal ball is less foggy than
> mine, what makes you think this is true? What trends are
> you seeing?

In the nook of Fortune X00 companies where I have worked, BAs already drive the system design. What they build is as ugly as hell, and is most often not much more than automated Excel spreadsheets. I'm not joking. Ceding system development to these yahoos is a grave mistake.

Max Lybbert

Posts: 314
Nickname: mlybbert
Registered: Apr, 2005

Re: Scala is for good programmers Posted: Oct 6, 2010 12:08 PM
Reply to this message Reply
> Max seems to dislike my comparison, and uses some bank teller comparisons. Bank tellers job descriptions do not change much.

That is, in fact, my point. If the argument is that programmers twenty years from now will be different from programmers today, then, yeah, I agree. The same can be said for bank tellers, auto mechanics, plumbers, carpenters, general contractors, doctors, dentists, and several other professions. If the argument is that there won't be a median programmer twenty years from now, then that's an incoherent argument. But you've already conceded that's an incoherent argument.

The only argument I think I can get from what you've written is that twenty years from now, many people programming won't officially be programmers (they'll be business analysts, IT, etc.). I'm not convinced. Twenty years ago, CASE tools and AI were going to make programming as we know it obsolete. It turns out that programming is a hard problem to solve programmatically. It's also hard to get non-programmers to write maintainable useful code. Without some drastic breakthrough in that regard, I'm sure that most people programming twenty years from now will be called "programmers."

John Zabroski

Posts: 272
Nickname: zbo
Registered: Jan, 2007

Re: Scala is for good programmers Posted: Oct 6, 2010 12:20 PM
Reply to this message Reply
> In the nook of Fortune X00 companies where I have worked,
> BAs already drive the system design. What they build is
> as ugly as hell, and is most often not much more than
> automated Excel spreadsheets. I'm not joking. Ceding
> system development to these yahoos is a grave mistake.

Sure, companies can confuse Business Analysts and/or IT people with "architects" who actually understand intelligent ways to apply technical solutions to business problems. This seems to be the norm.

Anyway, this conversation is starting to feel like /.

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: Scala is for good programmers Posted: Oct 6, 2010 12:47 PM
Reply to this message Reply
> > John, do you work in IT or have a foot in it?
>
> Everyone has a hard time believing I pay my bills working
> in IT, but I do. (Why is that?)

I've just noticed a lot of software people who don't work in IT have strange ideas about what application development in IT is about. I just want to get a feel for your context.

> > I'm just not sure what any of this has to do with
> > custom application development in IT.
>
> Well, you don't need to be a great programmer to build a
> social networking website. But if you are building a
> distributed intelligence application, you need to know
> your stuff. You need to know your implementation
> language(s) and your computer science. A lot of the logic
> in such applications isn't "custom". It's straightforward
> computer science and computer engineering.

Most of the custom development in IT (in my experience) is around automating business processes. These business processes are either non-differentiators or highly proprietary. It it's the former, you should buy a (quality) generic tool. If it's the latter, you should not. I'm not sure then what automating the automation of proprietary processes is. Automatic automation? I'm pretty doubtful that such a breakthrough is on the horizon. If so will the next step be automating automatic automation?

> > I also agree there will be a merging of business
> > analyst and programmer but I think it's the BAs that
> > will become programmers, not the other way around.
>
> Distinctions that don't make a difference.

I was too vague. What I am trying to get at is that there has long been a push to move what programmers do into the hands of business analysts. That is, make programming possible by non-programmers. These attempts have failed and will continue to fail. In order for business analysts to do programming, they will need to become programmers. It's not programming that needs to change so much as the business analysts.

Maybe I misunderstand you (we seem to be talking about different things altogether) but I find the notion that the more we become dependent on computers, the less we will need computer experts. More specifically, it seems weird to me that so many people think that the more software becomes an essential part of almost all aspects of our lives, the less we will need programmers.

robert young

Posts: 361
Nickname: funbunny
Registered: Sep, 2003

Re: Scala is for good programmers Posted: Oct 7, 2010 8:31 AM
Reply to this message Reply
> Maybe I misunderstand you (we seem to be talking about
> different things altogether) but I find the notion that
> the more we become dependent on computers, the less we
> will need computer experts. More specifically, it seems
> weird to me that so many people think that the more
> software becomes an essential part of almost all aspects
> of our lives, the less we will need programmers.

But that has been just the arc of history. In the 1950's, one need be an EE to "program" these machines. Then came assemblers, and FlowMatic, and AutoCoder, and then FORTRAN and COBOL. The came minis. Then the PC.

Then, the application which turned the PC into a toaster (my term for generic appliance with a cpu): Lotus 1-2-3. PC's were no longer used as IBM had designed them; to be "programmed" by a sophisticated engineer who knew programming languages. M$ was initially the source of systems programming tools for the PC. It had a primitive spreadsheet program (MultiPlan, which went nowhere), and not much else. The compilers came with full documentation, in bespoke mini-binders (3 D-ring), and M$ sent you update pages (every month, IIRC). Borland was the major competitor in systems tools, and there was competition. Once Borland died, and Apple contracted for Office Suite (yes, Office was built for Apple to their spec, only later ported back to Win/X86), M$ became less and less concerned with programmers. One might say the same of Apple in the last half decade.

Fewer and fewer user-level applications are written to a *compiler*; most are written to some kind of *framework*. (I'd wager that a vanishingly small percent of C/C++ coders write without vast libraries embedded in their applications.) Said frameworks are the products of discrete small handfuls of coders, while used to create applications by legions of framework coders. To some degree, the Ryan-McFarlands of yesteryear have been replaced by framework builders. Real Coders are disappearing, being replaced by framework manipulators.

Flat View: This topic has 34 replies on 3 pages [ « | 1  2  3 | » ]
Topic: Where Do You Want to Be in Five Years? Previous Topic   Next Topic Topic: Scala Training in Mountain View, Jan 2011

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use