Quantcast

"Erlang as a First Language" -- crazy? or just stupid?

classic Classic list List threaded Threaded
80 messages Options
1234
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Erlide packageability (was Re: "Erlang as a First Language" -- crazy? or juststupid?)

Michael Turner-7


On 12/20/2009, "egarrulo" <[hidden email]> wrote:

>Erlang is not suitable for beginners. The language is simple enough, however tool support and API documentation aren't.....

Not to get ahead of myself, and notwithstanding egarrulo's implication
further on that Erlang would be, at best, a distant third place runner
in this sweepstakes ....

Last night, I made a first stab at getting Erlide.  Because I started
late, I got stalled.  I *could* push it all the way through (right Java
download, right Eclipse download, right Erlide version, everything set
properly ....).  And maybe I will.  For now, however, I have to say: the
target audience I'm thinking of would probably find all this a lot more
trouble than I would, and I already find it a lot of trouble.

Of course, I could tell my target audience "Just use your favorite
editor".  But you know what?  Most mere mortals wouldn't know what I
meant.  Mortals use word processors, PowerPoint (and sometimes graphics
and page layout).  And as egarrulo implies, people tend to like having
One Good Window for what they're focusing on.  Tabbed browsers show
that's what they want even when they have ADD.

So I'm wondering: Could Erlide be put together on a one-click install
CD?  Or even better: a one-click over-the-web install?

Of course, this issue also invokes a recursion in my initial question:

 "Eclipse as a First IDE" - pure madness? or just unadulterated idiocy?

I actually wouldn't know, not having used it.  I just use vim.  Because
I am a caveman who eats his own head lice.

-michael turner

>2009/12/20 Michael Turner <[hidden email]>
>
>>
>> That's what I'm wondering.  I'm holding out for a possible Answer #3:
>> "Sure, at least if they are smart enough."
>>
>> I might have "smart enough" covered.  I'm working on a project in the
>> overlap between cognitive science and linguistics.  These people aren't
>> necessarily math-heavy (on the linguistics side, anyway), but they can
>> tolerate odd notations, abstruse jargon and fine conceptual distinctions
>> that would evoke only dread, if not nausea, in ordinary folk.
>>
>> I've been evaluating Erlang for this project in the only way I think
>> possible: after having identified what's important and what's not in a
>> language/system for this project, and seeing that Erlang roughly matches
>> up, I started writing modeling code.
>>
>> Here's where the matchup is clearly bad, from a lifecycle point of view:
>> Erlang is still a small minority language.  Sure, it's possible that a
>> mini-gold-rush is starting for it, and if so, that's good for Erlang,
>> mid- to long-term. But in my experience, the sudden appearance of money
>> can make the programmer supply situation worse in research circles:
>> hackers in academia start getting head-hunted ferociously.  What I'm
>> working on is likely to remain a lab creature for years, if it's viable
>> at all.  Somebody besides me has got to be able to support it,
>> eventually if not sooner.  So I'm thinking maybe the more adept users
>> might be good candidates for the role of programmers as well.
>>
>> But you see the problem: it might mean that Erlang is effectively their
>> first language.  Maybe they had a little exposure in high school or an
>> elementary programming course in college.  At most.  And maybe that
>> experience even turned them off a little.
>>
>> What are the first-language learnability issues with Erlang?  I'm poorly
>> qualified to think about this.  Although I wouldn't say I learn
>> programming languages quickly, I don't have major blocks either.  Over
>> the last 40 years, I've probably written something more significant
>> than "Hello, world" in more languages than I have fingers.  When I run
>> across a term like "atom", I think, "probably lisp-like", and I'm
>> off to the races.  I never really hacked Prolog, but having done it a
>> little helped a lot with with Erlang.  Even Pascal helped: that nagging
>> little terminator-vs-separator distinction with semicolons and whatnot
>> had migrated up into my ulnar tendons since college (so *that's* why
>> they hurt sometimes!), but made it back down to my fingers pretty
>> quickly when called.  So taking up Erlang in my mid-fifties is only
>> making me think, "Why didn't I start with it before my hair went
>> totally grey?"
>>
>> Maybe this isn't the best list for asking this question, because
>> probably most of you are like me anyway, in spirit if not in age.  But I
>> can't think where else to ask.
>>
>> -michael turner
>>
>>
>> ________________________________________________________________
>> erlang-questions mailing list. See http://www.erlang.org/faq.html
>> erlang-questions (at) erlang.org
>>
>>
>
>

________________________________________________________________
erlang-questions mailing list. See http://www.erlang.org/faq.html
erlang-questions (at) erlang.org

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Erlide packageability (was Re: "Erlang as a First Language" -- crazy? or juststupid?)

Toby Thain

On 22-Dec-09, at 12:46 AM, Michael Turner wrote:

> ...
>  "Eclipse as a First IDE" - pure madness? or just unadulterated  
> idiocy?
>
> I actually wouldn't know, not having used it.  I just use vim.  
> Because
> I am a caveman who eats his own head lice.

I use vi and Eclipse, the former usually for system admin and the  
latter for coding (any language from Assembler to PHP). Eclipse can  
present a reasonably simple face and GUI editors are going to be much  
more familiar than vi keystrokes -- as you say, people get familiar  
with things like Word.

Eclipse also has good VCS integration, if that's a factor.

--Toby

>
> -michael turner


________________________________________________________________
erlang-questions mailing list. See http://www.erlang.org/faq.html
erlang-questions (at) erlang.org

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Erlide packageability (was Re: "Erlang as a First Language" -- crazy? or juststupid?)

egarrulo
In reply to this post by Michael Turner-7
2009/12/22 Michael Turner <[hidden email]>

 "Eclipse as a First IDE" - pure madness? or just unadulterated idiocy?
>

Yes, THAT would be pure madness. I've never understood  that "IDE". Maybe
I'm not smart enough, however I don't know any developer who uses it on a
daily basis and knows how it works. I occasionally use it because I have to.
OTOH, I've not had any issues with Visual Studio, Borland's IDEs, Emacs; or
any other IDE I've just given a shot, for that matter.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Re: Erlide packageability (was Re: "Erlang as a First Language" -- crazy? or juststupid?)

Vasily Savin
Greetings,

During our last project, I was single person using ErlIDE in team of ten.
Most people opted for Emacs and 2 people picked vim.

I used ErlIDE because I have used Eclipse extensively during my Java years
and I came to like it. However, the general quality is not there yet. I
managed to install it without a snap, but the feeling I got is that Emacs
has somewhat better support for Erlang than ErlIDE. Later on, I switched to
pure text editor (my x64 Linux could not run Eclipse for some vague reason)
without much pain.

The main advantages ErlIDE gave me was syntax checking, I could ensure that
my module did not have any syntax errors before compiling and code
templates. Otherwise, it gave no significant benefit.

Granted, perhaps my Erlang experience is too small-scale, but I got feeling
Erlang needs IDE less than Java, because it is more compact. One would be
insane to try coding serious Java project in text editor.

Regards,
Vasilij Savin
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Erlide packageability (was Re: "Erlang as a First Language" -- crazy? or juststupid?)

egarrulo
In reply to this post by Michael Turner-7
2009/12/22 Michael Turner <[hidden email]>
>
> Of course, I could tell my target audience "Just use your favorite
> editor".


I wouldn't tell a beginner to use an editor to develop anything. A language
lacking an IDE - and by "IDE" I mean an editor with syntax-highlighting and
interaction with language's compiler and source-level debugger, at least -
such language is not worth learning, IMHO. I've done that in the past...
never again.

So I'm wondering: Could Erlide be put together on a one-click install
> CD?  Or even better: a one-click over-the-web install?
>

Yes, it can. You don't need an install, a (compressed) folder would suffice.
Just setup your Eclipse+Erlide installation, add a JRE and write a shell
script to launch the behemoth. That would be a couple hundreds of megabytes,
but it would work.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: "Erlang as a First Language" -- crazy? or just stupid?

Thomas Lindgren
In reply to this post by Michael Turner-7




----- Original Message ----
> (2) Don't underestimate how hostile some of these people can be to the
> idea of programming at all.  One researcher I'm corresponding with
> recently wrote me that he'd rather peel his skin off than write code.

Clearly, you will need to get them started and productive pretty quickly. I find the erlang shell reasonably friendly to experimentation, casual testing and bottom-up development, which can be helpful. Show them how to use the shell, invoke functions, print answers, figure out what exceptions mean, etc, and it serves more like a calculator than a programming language.

Unfortunately, the shell has its many limitations, so you'll then have to show them modules and compilation to really get going. Unless they are comfortable with unix and programming, I'd avoid include-files and unix make files as far as possible so that they can stay with just the shell a bit longer.

> ... IBM AS/400 ...

(I've never seen or used as AS/400 but I _have_ paid cold hard cash for Soltis, "Inside the AS/400". I blame an unhealthy interest in computer architecture :-)

Best,
Thomas


     

________________________________________________________________
erlang-questions mailing list. See http://www.erlang.org/faq.html
erlang-questions (at) erlang.org

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: "Erlang as a First Language" -- crazy? or just stupid?

Robert Virding
In reply to this post by Michael Turner-7
2009/12/21 Michael Turner <[hidden email]>

>
> ...
> You know that "choice of environments" I mentioned?  Here it is: you
> can write it in Object-Oriented Cobol for an IBM AS/400 with a
> green-screen glass-tty terminal, or in Fortran 90 while telnetted from
> Windows 95 into a DEC VMS system.  THAT's how some of these people
> would feel at the outset about any programming language, and an
> environment like the Erlang shell.
>

I've programmed Fortran on VAX/VMS, even before I had an Emacs on it. What's
the problem?

Seriously, I think if you are that hung up on an IDE-based environment
you've got problems anyway. In one sense having a very simple and basic
environment may actually be easier to use just because it is so simple and
basic which can make it easier to see and understand what is going on.

Robert
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Erlide packageability (was Re: "Erlang as a First Language" -- crazy? or juststupid?)

Jarrod Roberson
In reply to this post by Michael Turner-7
the lastest version of ErlIDE at this time fixed a lot of bugs. I use it
exclusively for Erlang development, the syntax highlight especially the help
with code sense and when to use ; vs , vs . vs nothing is invaluable. It
compiles all the .erl files the background on lost focus of the tab, and
helps keep your code neat and clean.

you can get a self contained version of Eclipse, install the ErlIDE plugin
and just zip it up. Then all you need to do to "install" it is unzip it. I
highly recommend it after using the NetBeans Erlang plugin for about a year.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Erlide packageability (was Re: "Erlang as a First Language" -- crazy? or juststupid?)

Garrett Smith-5
In reply to this post by Michael Turner-7
On Mon, Dec 21, 2009 at 11:46 PM, Michael Turner <[hidden email]> wrote:
>
> On 12/20/2009, "egarrulo" <[hidden email]> wrote:
>>Erlang is not suitable for beginners. The language is simple enough, however tool support and API documentation aren't.....

-snip-

> Of course, I could tell my target audience "Just use your favorite
> editor".  But you know what?  Most mere mortals wouldn't know what I
> meant.  Mortals use word processors, PowerPoint (and sometimes graphics
> and page layout).  And as egarrulo implies, people tend to like having
> One Good Window for what they're focusing on.  Tabbed browsers show
> that's what they want even when they have ADD.
>
> So I'm wondering: Could Erlide be put together on a one-click install
> CD?  Or even better: a one-click over-the-web install?

If you just want to teach the language, any editor that supports
syntax highlighting for Erlang should be fine. You are talking about a
full featured functional language - anyone using Erlang really should
be more than capable of figuring out how to use a text editor. Sheesh
:)

> Of course, this issue also invokes a recursion in my initial question:
>
>  "Eclipse as a First IDE" - pure madness? or just unadulterated idiocy?

If you were teaching Java, Eclipse would almost certainly be the right
tool. I haven't played around with ErlIDE for a while, but I hear it's
making rapid progress - so Eclipse could be a win for early Erlang
developers.

Were it me, I'd probably just pick a simple editor (e.g. on Windows,
Programmers Notepad - http://www.pnotepad.org) and offer that as an
option for anyone tempted to use Word ;) Simple "make" batch files for
builds will work fine for student projects.

Garrett

________________________________________________________________
erlang-questions mailing list. See http://www.erlang.org/faq.html
erlang-questions (at) erlang.org

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Erlide packageability (was Re: "Erlang as a First Language" -- crazy? or juststupid?)

egarrulo
2009/12/22 Garrett Smith <[hidden email]>

> If you just want to teach the language, any editor that supports
> syntax highlighting for Erlang should be fine. You are talking about a
> full featured functional language - anyone using Erlang really should
> be more than capable of figuring out how to use a text editor. Sheesh
> :)
>

Why should a newbie be fine with just a syntax-highlighting editor? Newbies
do need more help from tools, not less. I maintain that an easy way to
compile and run projects and a source-level debugger are vital.

If you want to keep it basic, you could setup an IDE with
Emacs+ErlangMode+Distel and adjust it to your needs (no need to learn Emacs
for that).
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Erlide packageability (was Re: "Erlang as a First Language" -- crazy? or juststupid?)

egarrulo
2009/12/22 egarrulo <[hidden email]>

> If you want to keep it basic, you could setup an IDE with
> Emacs+ErlangMode+Distel and adjust it to your needs (no need to learn Emacs
> for that).
>

Forgot: add FlymakeErlang too the soup (live syntax checking).
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re:

Michael Turner-7
In reply to this post by egarrulo


On 12/22/2009, "egarrulo" <[hidden email]> wrote:

>

________________________________________________________________
erlang-questions mailing list. See http://www.erlang.org/faq.html
erlang-questions (at) erlang.org

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Emacs as Erlang IDE for newbies

Michael Turner-7
In reply to this post by egarrulo

2009/12/22 Garrett Smith <[hidden email]>

> If you just want to teach the language, any editor that supports
> syntax highlighting for Erlang should be fine. You are talking about a
> full featured functional language - anyone using Erlang really should
> be more than capable of figuring out how to use a text editor. Sheesh
> :)
>

egarrulo:
Why should a newbie be fine with just a syntax-highlighting editor?
Newbies
do need more help from tools, not less. I maintain that an easy way to
compile and run projects and a source-level debugger are vital.

me:
I'm starting to think that's the best choice for now -- no need to call
it an editor, just say "here's a program that helps you write, change
and run Erlang programs."  Later on, they might realize they were
tricked into learning something about this thing called an "editor".

egarrulo:
If you want to keep it basic, you could setup an IDE with
Emacs+ErlangMode+Distel and adjust it to your needs (no need to learn
Emacs
for that).

I'm considering throwing FlymakeErlang and Wrangler in, too.

On the face of it, Wrangler might seem a strange choice -- for, surely,
refactoring tools are for Real Programmers?  But maybe not.  Maybe
beginners should have them at the beginning.  Some common refactorings
are very simple, like "change this function name everywhere."  I wish
I'd had that when I was starting out.

As for Flymake, I really don't buy this idea that syntax error messages
from the Erlang shell are now adequately clear.  Hardly a day goes by
that I don't have to peel myself off the ceiling, shouting, "'Syntax
error before: &'?!  Be specific!"  I want to know more.

And so will noobs.

-michael turner

________________________________________________________________
erlang-questions mailing list. See http://www.erlang.org/faq.html
erlang-questions (at) erlang.org

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Emacs as Erlang IDE for newbies

egarrulo
2009/12/23 Michael Turner <[hidden email]>

>
> Why should a newbie be fine with just a syntax-highlighting editor?
> Newbies
> do need more help from tools, not less. I maintain that an easy way to
> compile and run projects and a source-level debugger are vital.
>
> me:
> I'm starting to think that's the best choice for now -- no need to call
> it an editor, just say "here's a program that helps you write, change
> and run Erlang programs."
>

Bravo! That would be a smart move ;-)

Indeed, who cares about editors? They just need "a program that helps /them/
write, change
and run Erlang programs."

On the face of it, Wrangler might seem a strange choice -- for, surely,
> refactoring tools are for Real Programmers?  But maybe not.  Maybe
> beginners should have them at the beginning.  Some common refactorings
> are very simple, like "change this function name everywhere."  I wish
> I'd had that when I was starting out.
>

Agreed.


> As for Flymake, I really don't buy this idea that syntax error messages
> from the Erlang shell are now adequately clear.  Hardly a day goes by
> that I don't have to peel myself off the ceiling, shouting, "'Syntax
> error before: &'?!  Be specific!"  I want to know more.
>
> And so will noobs.
>

That's not a wrong thought.

I've suggested Emacs because, besides its uncluttered interface, you could
tailor its configuration and its packages' ones to suit your needs, exposing
as much functionality as you wish.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Erlide packageability (was Re: "Erlang as a First Language" -- crazy? or juststupid?)

Robert Raschke
In reply to this post by egarrulo
If writing code is too hard, try Scratch (http://scratch.mit.edu/), the
modern day Logo.

But otherwise, programming is a mostly textual thing. So a good editor that
suits one's personality is pretty important (I also mean IDEs, as they
include an editor).

And I get the distinct impression there are two definitions of "programming"
floating about: assemble something from libraries (the handyman approach)
vs. build a system according to design rules (the engineering approach).

The latter has always been "too hard". Shame that SW tends not to kill
people, otherwise, we'd be much further along the road most other
engineering practices have gone down. But maybe it's just the "youth" of the
profession ... me cynical? surely not ;-)

Robby
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Re: Erlide packageability (was Re: "Erlang as a First Language" -- crazy? or juststupid?)

Vance Shipley
In reply to this post by egarrulo
On Tue, Dec 22, 2009 at 12:37:31PM +0000, egarrulo wrote:
}  I wouldn't tell a beginner to use an editor to develop anything. A language
}  lacking an IDE - and by "IDE" I mean an editor with syntax-highlighting and
}  interaction with language's compiler and source-level debugger, at least -
}  such language is not worth learning, IMHO.

You are representative of all that is wrong with today's workforce.
I wouldn't let a first year student anywhere near an "IDE".

--
        -Vance

________________________________________________________________
erlang-questions mailing list. See http://www.erlang.org/faq.html
erlang-questions (at) erlang.org

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Re: Erlide packageability (was Re: "Erlang as a First Language" -- crazy? or juststupid?)

Jarrod Roberson
On Wed, Dec 23, 2009 at 12:36 PM, Vance Shipley <[hidden email]> wrote:

> On Tue, Dec 22, 2009 at 12:37:31PM +0000, egarrulo wrote:
> }  I wouldn't tell a beginner to use an editor to develop anything. A
> language
> }  lacking an IDE - and by "IDE" I mean an editor with syntax-highlighting
> and
> }  interaction with language's compiler and source-level debugger, at least
> -
> }  such language is not worth learning, IMHO.
>
> You are representative of all that is wrong with today's workforce.
> I wouldn't let a first year student anywhere near an "IDE".
>
> --
>         -Vance
>
> ________________________________________________________________
> erlang-questions mailing list. See http://www.erlang.org/faq.html
> erlang-questions (at) erlang.org
>
>
so all the people that I used to work with that used Windows Notepad
exclusively to do Java development are productivity GODS in your opinion?
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Re: Erlide packageability (was Re: "Erlang as a First Language" -- crazy? or juststupid?)

Vance Shipley
On Wed, Dec 23, 2009 at 12:45:51PM -0500, Jarrod Roberson wrote:
}  so all the people that I used to work with that used Windows Notepad
}  exclusively to do Java development are productivity GODS in your opinion?

At least they knew what they were doing.

--
        -Vance

________________________________________________________________
erlang-questions mailing list. See http://www.erlang.org/faq.html
erlang-questions (at) erlang.org

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Re: Erlide packageability (was Re: "Erlang as a First Language" -- crazy? or juststupid?)

Jarrod Roberson
On Wed, Dec 23, 2009 at 12:48 PM, Vance Shipley <[hidden email]> wrote:

> On Wed, Dec 23, 2009 at 12:45:51PM -0500, Jarrod Roberson wrote:
> }  so all the people that I used to work with that used Windows Notepad
> }  exclusively to do Java development are productivity GODS in your
> opinion?
>
> At least they knew what they were doing.
>
> --
>         -Vance
>
if you call writing C code in Java knowing what they were doing, then they
did.
it was some of the most hideous anti-Java and anti-OO that I have ever seen.
I guess you want someone that only knows how to use a torch and a hammer to
work on your car as well?
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Re: Erlide packageability (was Re: "Erlang as a First Language" -- crazy? or juststupid?)

Vasily Savin
In reply to this post by egarrulo
Greetings,

On Tue, Dec 22, 2009 at 2:37 PM, egarrulo <[hidden email]> wrote:


> I wouldn't tell a beginner to use an editor to develop anything. A language
> lacking an IDE - and by "IDE" I mean an editor with syntax-highlighting and
> interaction with language's compiler and source-level debugger, at least -
> such language is not worth learning, IMHO. I've done that in the past...
> never again.
>

I do not see a problem running make file by hand. Also, debugger is not as
useful in developing distributed or concurrent systems due to violation of
real time properties, so that is irrelevant for Erlang I believe.

Why does Java need Eclipse or like, because it is hugely complicated
language. The names are too long to remember, there are hundreds of classes
to sift through even in mid-sized project. You need tools to combat that
complexity. There is no way around if you want to develop in OO way.

At least as far as my experience goes, Erlang is much more compact and
laconic language compared to Java. Some things would be really nice, like
syntax highlighting and checking online, as function completion, but you can
survive programming Erlang in text editor, but doing so in Java would be
madness.

Also, you learn language not because of tool support, but if it allows to
express your intentions more clearly in machine-understandable way. That is
why we have myriads of languages for different domains. Tool support comes
once there is considerable market for them.

In my opinion, tool support is currently coming to Erlang as it becomes more
popular and mainstream (hopefully).

Regards,
Vasilij Savin
1234
Loading...