|
View:
New views
14 Messages
—
Rating Filter:
Alert me
|
|
|
Does it make sense to design languages for smart people?
by Amir Michail
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message Hi,
Haskell strikes me as such a language. There's no way it will become mainstream simply because most programmers are not smart enough to use it. Scala might suffer a bit from this, at least for people who want to use its more advanced features. But it's much better than Haskell in that respect. So does it make sense to design languages for smart people? If so, up to what IQ? Amir |
|
|
Re: Does it make sense to design languages for smart people?
by Viktor Klang
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message On Jan 4, 2008 8:54 PM, Amir Michail <amichail@...> wrote: Hi, Do you mind if I hold my answer for a week or two? I'm waiting for the MENSA results... ;D Cheers man, -Viktor
-- _____________________________________ / \ /lift/ committer ( www.liftweb.net) SGS member (Scala Group Sweden) SEJUG member (Swedish Java User Group) \_____________________________________/ |
|
|
Re: Does it make sense to design languages for smart people?
by Jamie Webb-2
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message On 2008-01-04 14:54:07 Amir Michail wrote:
> Hi, > > Haskell strikes me as such a language. There's no way it will become > mainstream simply because most programmers are not smart enough to use > it. > > Scala might suffer a bit from this, at least for people who want to > use its more advanced features. But it's much better than Haskell in > that respect. > > So does it make sense to design languages for smart people? If so, up > to what IQ? First, you must distinguish between 'smart' and 'well educated'. Smart people are able to become educated much more quickly, but that doesn't mean that the average Java monkey couldn't be taught to use Haskell if it were required for his job. /J |
|
|
Re: Does it make sense to design languages for smart people?
by Viktor Klang
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message On Jan 4, 2008 9:09 PM, Jamie Webb <j@...> wrote:
Given a sufficient stock of bananas :)
-- _____________________________________ / \ /lift/ committer ( www.liftweb.net) SGS member (Scala Group Sweden) SEJUG member (Swedish Java User Group) \_____________________________________/ |
|
|
Re: Does it make sense to design languages for smart people?
by hohonuuli-2
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message > most programmers are not smart enough to use t. > > So does it make sense to design languages for smart people? If so, up > to what IQ? I keep seeing this kind of arrogant BS on this list. There are many reasons people choose not to use Scala or Haskell; I don't think 'lack of intellegence" is a significant factor. More prominant factors include: - Scala is not relevant to thier job - Scala documentation is very academic and incomplete. - Scala syntax can be odd (i.e. overly compact and the code's intentions can be hidden) - Lack of good tools for working with Scala. - Stability and compatibility with Java is not quite there yet (e.g. where's a good Java-Scala cross compiler) - People can get there job done with existing, well-established languages - etc. etc. So, please cool it with the "I code in Scala so I'm smarter than other programmers"; all you're telling the world is "Hey, I'm an arrogant assh0l3" Cheers |
|
|
Re: Re: Does it make sense to design languages for smart people?
by Viktor Klang
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message On Jan 4, 2008 9:49 PM, hohonuuli <hohonuuli@...> wrote:
Heeeeeyyyyyy! Easy on the keys man! Surely Amir's post was a joke, lighten up, everything's not life and death you know. Have a great weekend, Cheers, -Viktor
-- _____________________________________ / \ /lift/ committer ( www.liftweb.net) SGS member (Scala Group Sweden) SEJUG member (Swedish Java User Group) \_____________________________________/ |
|
|
Re: Re: Does it make sense to design languages for smart people?
by Amir Michail
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message On Jan 4, 2008 3:56 PM, Viktor Klang <viktor.klang@...> wrote:
> ... > > Heeeeeyyyyyy! > > Easy on the keys man! > Surely Amir's post was a joke, > lighten up, everything's not life and death you know. > This is a serious question. Surely, when designing a language you must take into account how much intelligence is required to learn and use it effectively. This is not arrogance -- but rather, part of the job of a language designer. People have to think about such things when designing other artifacts such as cars, TVs, etc. Amir > > Have a great weekend, > > Cheers, > -Viktor > > > > > > > > So, please cool it with the "I code in Scala so I'm smarter than other > > programmers"; all you're telling the world is "Hey, I'm an arrogant > > assh0l3" > > > > Cheers > > > > > > > > > > > > > > > > > -- > _____________________________________ > / \ > /lift/ committer ( www.liftweb.net) > SGS member (Scala Group Sweden) > SEJUG member (Swedish Java User Group) > \_____________________________________/ |
|
|
Re: Re: Does it make sense to design languages for smart people?
by Viktor Klang
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message On Jan 4, 2008 10:06 PM, Amir Michail <amichail@...> wrote: On Jan 4, 2008 3:56 PM, Viktor Klang <viktor.klang@...> wrote: Allright, there we go... I actually think you're way over-simplifying it. "Intelligence" is just one parameter, and I'll throw some more into the fray: consistency (much related to intuition) expressibility expandability familiarity creativity simplicity/complexity ratio(where "simple" means less parts, and "complex" means more parts) wholeness purpose and a whole lot of other parameters I, in my feverish state, must be missing. @Hohonuuli Personally I do _not_ feel that Scala is a community of smug people, sitting on high horses, laughing at the slaving Java devs down below. Heck, I have made my living off of Java for 5 years straight now. Where you see arrogance, I see a crowd of cool fun-loving guys (and girls?) who have one thing particular in common : their interest in doing some wickedly cool stuff with this new shiny tool they just found (sorry JonP and DaveP and the rest of you who actually found Scala way back ;) ) Cheers, Viktor
-- _____________________________________ / \ /lift/ committer (www.liftweb.net) SGS member (Scala Group Sweden) SEJUG member (Swedish Java User Group) \_____________________________________/ |
|
|
Re: Does it make sense to design languages for smart people?
by tmorris
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1 Jamie Webb wrote: > On 2008-01-04 14:54:07 Amir Michail wrote: >> Hi, >> >> Haskell strikes me as such a language. There's no way it will become >> mainstream simply because most programmers are not smart enough to use >> it. >> >> Scala might suffer a bit from this, at least for people who want to >> use its more advanced features. But it's much better than Haskell in >> that respect. >> >> So does it make sense to design languages for smart people? If so, up >> to what IQ? > > First, you must distinguish between 'smart' and 'well educated'. Smart > people are able to become educated much more quickly, but that doesn't > mean that the average Java monkey couldn't be taught to use Haskell if > it were required for his job. > > /J > > > I know people personally who would probably be considered "Java monkeys" and are still struggling with basic mistakes in Haskell (for example, not knowing how to reason about lazy programs), 18 months after picking it up. I have doubt about the statement that the average Java monkey could be taught to use Haskell; you need only look at all the myths that surround the language (Someone wrote them all up recently I think?), since where do they come from? I ran a 2-day Scala training course last year initiated by Red Hat/JBoss (where we also touched on Haskell), which I am running again next week. I have also recently written a commercial web application using Scala with others who were unfamiliar with higher-level concepts. I am forming the opinion that using Haskell effectively does indeed have a minimum required level of "something" that is above the median. I hypothesise that "something" is "the ability to externalise deeply held preconceptions for critical analysis and readily accepting falsification". Not all people are capable of this, but children certainly are :) - -- Tony Morris http://tmorris.net/ Hey! We had 40,000 lines of C# here yesterday, but now there are 40 lines of... Dear God, what is a catamorphism?" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFHfqNlmnpgrYe6r60RAimgAJsG6UAmYy8wdAXKnVp1Xc/Xc2bPxQCeL13W N+7kKjeJqhfk5NGRAWPDnpQ= =FkNg -----END PGP SIGNATURE----- |
|
|
Re: Re: Does it make sense to design languages for smart people?
by Frantisek Sodomka
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message Let me flip it around: If you are developing complex software using less
expressive tools, it means that you actually have to work harder to get it done. It implies more thinking and creative approaches. Wouldn't that mean that Java programmers are actually smarter than Scala programmers? ;-))) [Back to serious mode] :-) Amir is suggesting that more complicated languages get used less often. And guess what - he is right. Scala's advantage is that it allows both low-level and high-level style of programming, so you start with what you know and like and slowly progress to more advanced parts. Expert users can write cool libraries and other users just use them. I think that's fair. No pushing you one way or the other. :: Frantisek On Fri, 04 Jan 2008 22:18:35 +0100, Viktor Klang <viktor.klang@...> wrote: > On Jan 4, 2008 10:06 PM, Amir Michail <amichail@...> wrote: > >> On Jan 4, 2008 3:56 PM, Viktor Klang <viktor.klang@...> wrote: >> > ... >> > >> > Heeeeeyyyyyy! >> > >> > Easy on the keys man! >> > Surely Amir's post was a joke, >> > lighten up, everything's not life and death you know. >> > >> >> This is a serious question. Surely, when designing a language you >> must take into account how much intelligence is required to learn and >> use it effectively. This is not arrogance -- but rather, part of the >> job of a language designer. People have to think about such things >> when designing other artifacts such as cars, TVs, etc. >> > > Allright, there we go... > > I actually think you're way over-simplifying it. > "Intelligence" is just one parameter, and I'll throw some more into the > fray: > > consistency (much related to intuition) > expressibility > expandability > familiarity > creativity > simplicity/complexity ratio(where "simple" means less parts, and > "complex" > means more parts) > wholeness > purpose > > and a whole lot of other parameters I, in my feverish state, must be > missing. > > @Hohonuuli > > Personally I do _not_ feel that Scala is a community of smug people, > sitting > on high horses, laughing at the slaving Java devs down below. > Heck, I have made my living off of Java for 5 years straight now. > > Where you see arrogance, I see a crowd of cool fun-loving guys (and > girls?) > who have one thing particular in common : their interest in doing some > wickedly cool stuff with this new shiny tool they just found (sorry JonP > and > DaveP and the rest of you who actually found Scala way back ;) ) > > Cheers, > Viktor > > >> Amir >> >> > >> > Have a great weekend, >> > >> > Cheers, >> > -Viktor >> > >> > >> > > >> > > >> > > So, please cool it with the "I code in Scala so I'm smarter than >> other >> > > programmers"; all you're telling the world is "Hey, I'm an arrogant >> > > assh0l3" >> > > >> > > Cheers >> > > >> > > >> > > >> > > >> > > >> > > >> > >> > >> > >> > >> > -- >> > _____________________________________ >> > / \ >> > /lift/ committer ( www.liftweb.net) >> > SGS member (Scala Group Sweden) >> > SEJUG member (Swedish Java User Group) >> > \_____________________________________/ >> > > > |
|
|
Re: Re: Does it make sense to design languages for smart people?
by Stanislas Klimoff-3
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message On 1/5/08, Frantisek Sodomka <fanda@...> wrote: Scala's advantage is that it allows both That leads to segregation. When I deal with Java, I'm pretty sure I can look through the sources of most open-source libraries, introduce some enhancements I need or smash some nasty bug. Developers are more or less on the same page. I don't do Haskell, but I believe it requires some understanding of advanced concepts just to dive in, because it prohibits imperative style — that's it, developers are speaking the same language again.
But what about Scala? Sure, a hybrid language boosts the productivity of a single developer, at the same time offering a somewhat smooth learning curve. How about groups of developers? I don't think I'll be able to benefit from open sourcing software written on Scala — I'm a very average developer and I've never been dealing with something more advanced than Scheme or SML.
On the other side, Scala gurus won't be interested in contribution into a mediocre open-source project; to contribute efficiently, they need some advanced constructs that simply won't be present in a given ecosystem.
Indeed that was just a speculation, but — what do you think, guys? -- Best wishes, Stan Klimoff Grid Dynamics Consulting |
|
|
Re: Re: Does it make sense to design languages for smart people?
by tmorris
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1 Stanislas Klimoff wrote: > because it prohibits imperative style This is a common misunderstanding. Actually, Haskell is a great imperative language. - -- Tony Morris http://tmorris.net/ Hey! We had 40,000 lines of C# here yesterday, but now there are 40 lines of... Dear God, what is a catamorphism?" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFHfrDqmnpgrYe6r60RAiEpAJ0Rij1boN524LacUe42uaruwcprKACgnb8i KvWnmJ44CupNJ9RmK/YIw8s= =GZMN -----END PGP SIGNATURE----- |
|
|
Re: Re: Does it make sense to design languages for smart people?
by Erik Engbrecht
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message Please forgive Amir's questions. He frequently annoys the "smartest people" here on the list, but if you get past the...ummm...blundt way he phrases them, he's usually saying something interesting and I think he sparked a few of the more interesting converstations here.
Part of being a community is tolerating each others' idiosyncracies, and letting it go when ones' idiosyncracies are not tolerated.
Ok, enough touchy-feely stuff....
Amir,
I think it depends on your objectives for the language. A programming language is a tool that is engineered for a purpose. The way it is engineered is entirely dependent on that purpose. Programmer's are the users of a language. They define the market. If you make a language that is inaccessible to too much of the market, then you are limiting your potential market. But sometimes it is better to be a big fish in a small pond.
That being said I think "smart" is the wrong word. Most programmers have, at least relative to the general population, pretty high IQs. I think it's more a question of how much time should there be from flash to bang. A lot of Scala has strong theoretical underpinnings. Theory generally takes so long to go from flash to bang that many people get bored before they even see the flash.
You don't need to know the theory to program well in Scala, but watching the list makes it clear that if you don't know the theory you are never going to be one of the best Scala programmers. Most programmers don't have a computer science background, and of the ones that do, most have willfully forgotten it. So in that way Scala is kind of scary, because in order to *really* know it, you're going to have to know a fair amount of graduate-level CS. That's a big investment for someone who is accustomed to being an expert in a language like Java, probably too big for many people.
Of course what's required is some perspective. I don't think David Pollak is an expert in lambda calculus or category theory. But he is doing amazing things with Scala, and probably picking up pieces of the relevant theory as he goes.
Anyway, I think the key to being a successful language is having good documentation that enables people to quickly achieve results. Lots of robust libraries are also a big plus. Scala falls down in both these areas, but I think that can be readily corrected as the community reaches critical mass.
-Erik
On 1/4/08, hohonuuli <hohonuuli@...> wrote:
-- http://erikengbrecht.blogspot.com/ |
|
|
Re: Re: Does it make sense to design languages for smart people?
by David Bernard-3
::
Rate this Message:
Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message Stanislas Klimoff wrote:
> On 1/5/08, *Frantisek Sodomka* <fanda@... > <mailto:fanda@...>> wrote: > > Scala's advantage is that it allows both > low-level and high-level style of programming, so you start with > what you > know and like and slowly progress to more advanced parts. Expert > users can > write cool libraries and other users just use them. I think that's > fair. > No pushing you one way or the other. > > > That leads to segregation. When I deal with Java, I'm pretty sure I can > look through the sources of most open-source libraries, introduce some > enhancements I need or smash some nasty bug. Developers are more or less > on the same page. I don't do Haskell, but I believe it requires some > understanding of advanced concepts just to dive in, because it prohibits > imperative style — that's it, developers are speaking the same language > again. > > But what about Scala? Sure, a hybrid language boosts the productivity of > a single developer, at the same time offering a somewhat smooth learning > curve. How about groups of developers? I don't think I'll be able to > benefit from open sourcing software written on Scala — I'm a very > average developer and I've never been dealing with something more > advanced than Scheme or SML. I'm a java developer since 10 years. I started to implement an other scaladoc. I started from the existing one. I found an overdesigned implementation, that use very complex (IMHO) structure and hard to read/understand for simple things. May the developer know functionnal language but about OO, he abuse usage of "extends" instead of composition. Sorry if I'm a little "agressive", it always the case after a fight against a code. ;) I also have the syndrom of overkill/overdesign, I grow with Design Pattern (GoF), reusability. And every days I fights against myselft to KISS my code (Keep It Simple Stupid) and readable. Scala is "young" and grow quickly, and it merge to world (OO + functionnal) so good practice need to be found (to educate developer). > On the other side, Scala gurus won't be interested in contribution into > a mediocre open-source project; to contribute efficiently, they need > some advanced constructs that simply won't be present in a given ecosystem. > > Indeed that was just a speculation, but — what do you think, guys? May be gurus don't want to share the power (knowledge) ;) /davidB > > -- > Best wishes, > Stan Klimoff > Grid Dynamics Consulting |
| Free Forum Powered by Nabble | Forum Help |