Re: Static vs. Dynamic typing (big advantage or not)---WAS: c.programming: OOP and memory management

From: Jeff Brooks (jeff_brooks_at_nospam.com)
Date: 07/12/04


Date: Mon, 12 Jul 2004 20:01:29 GMT

Jörn W. Janneck wrote:
> Jeff Brooks wrote:
>
>>A few years ago I started learning Smalltalk. After learning the basics
>>of it I tried to discuss differences between Java, and Smalltalk with
>>many developers. I discovered that most developers are uniformed about
>>features in alternative languages.
>>
>>Don't believe me? Try it for yourself.
>
> as someone designing, implementing, and teaching programming languages, i
> know that there is widespread ignorance about programming language features
> among individual developers. however, let me say this:

What languages did you design?

> (a) the same applies to users of *all* programming languages, including
> smalltalk. and not only to simple users: last time i checked, james a.
> robertson, product manager (iirc) for cincom smalltalk products, and vocal
> opponent of static typing, had not used, and was unfamiliar with, eiffel,
> sather, any other language featuring a modern generic type system.

Generics are not new.

The type system in eiffel, and sather can produce runtime errors because
neither can guarantee type safety at compile time.

A lot of people like to say static typing is good because it guarantees
type correctness at compile time. To this day I have never seen any
static language that could live up to that claim.

Also, your own argument seems to contradict the "static languages are
good so developers choose them" argument because there are almost no
eiffel developers even though the type system in eiffel is superior to Java.

If developers are informed about static type checking then why is java
popular and eiffel isn't?

> now i seriously doubt that james is the most uninformed "smalltalker", in
> fact, i certainly think he is in a very high percentile of smalltalk users.
> say, 90. does that mean that just from statistics, we have to discount at
> least 9 out of 10 opinions by smalltalk advocates when it comes to typing
> disciplines? simply because they know zip about the last, say, twenty years
> of static type systems?

Almost 100% of programers are familiar with popular langauges like
C++, C, and Java. Some programers (very few) take the time to learn
other languages. I have never met a Smalltalk programmer that didn't
know Java. Its rare for a Java developer to know Smalltalk or any other
alternative language.

If we are going to discount advocates of certain languages because of
ignorance we have to discount the majority of Java programmers.

> (b) the more important point, however, is that none of this matters. while
> individuals make their choices based on their own knowledge, the /market/
> chooses the /individuals/ (and only indirectly the choices they made) by
> their actual success. not by their claims, not by their statistics, but by
> whether they *really*, i.e. in actual fact, manage to be so-and-so much more
> productive than someone else.

When Java was first hyped no one had ever been successful with it.
Business were buying it because it was hyped as the solution for
internet development. Java failed in every way that it was originally
hyped but it still became popular. The market chose hype not successes.

If you look at the history of programming languages you will see that
things change based on hype and false promises. The way languages are
adopted in the industry is imbarrasing!

> it really does not matter whether someone (or
> some company) choosing a language to program a dsp for a dvd player knows
> about fuzzy logic, s-expressions, genetic programming, logic programming, or
> closures. and even if it *did* matter, then the wrong choices that would
> ensue would eventually lead to competitive disadvantages for the person or
> company.

So you argue it doesn't matter, then you argue if it did matter then it
would be wrong? :)

> if someone in that market discovered a way to make programming dsps, say,
> three times more productive, you can *bet* that the news would spread liek
> wildfire.

Then explain why Java is popular?

Quality of a language doesn't determine its success in the market place.
Look at C++, and Java as examples.

>>- If you don't understand the features of other languages how can you
>>debate which languages are better?
>
> the same way someone might debate which dvd player is better without
> knowing, say, the difference between i-frames and p-frames, what macroblocks
> are, or what an idct is. by looking at what it does, roughly how well it
> does it, and by listening to a variety of more or less informed opinions,
> epinion.com, amazon reviews, whatnot. you might occassionally miss out on
> the secret top player with the coolest mpeg decoder, but you will usually
> get a pretty decent one, and, what is more important, over time dvd players
> get consistently better because other people do the same.

I think a more appropriate comparison is VHS vs beta.

Beta was better, VHS won. Do you know why?
Eiffel is a better static language, Java won. Do you know why?

A better question is what technology isn't popular today because DVD
won? How are dvd users better/worse off because the other technologies lost?

Jeff Brooks



Relevant Pages

  • Re: Static vs. Dynamic typing (big advantage or not)---WAS: c.programming: OOP and memory management
    ... >>A few years ago I started learning Smalltalk. ... >>features in alternative languages. ... > know that there is widespread ignorance about programming language features ... eiffel developers even though the type system in eiffel is superior to Java. ...
    (comp.object)
  • Use Jesus Christ
    ... > programming until very recently. ... >, but I've occasionally tried to understand Smalltalk ... In Java I've mostly been limited to server-side ... Object oriented design is a mental picture of objects and messages. ...
    (comp.object)
  • Re: Head-in-the-Sand Liberals (LA Times Columnist)
    ... You claimed to have known several computer languages, ... If you lie about knowing computer languages, ... of the programming loop for a functional ... You also don't know Java. ...
    (rec.org.mensa)
  • Re: How come Ada isnt more popular?
    ... Most programming languages were terrible at that time, ... And we talked about "Why isn't Ada more popular?". ... Adopting Java ...
    (comp.lang.ada)
  • Re: Arithmetic overflow checking
    ... That simplifies some electrical engineering ... numbers I'd likely skip Java as a candidate for doing that work. ... Just as when I was doing primarily scientific programming ... Another interesting consideration is languages that have type systems ...
    (comp.lang.java.programmer)