Slashdot Mirror


The Next Path for Joy

newdaemon writes "Fortune has a candid interview with Bill Joy about what he plans to do after leaving Sun and his opinions on many other topics, including his strong dislike of the C programming language and how the internet could evolve to take care of the problem of spam and viruses."

17 of 361 comments (clear)

  1. modular programming by marine_recon · · Score: 0, Interesting

    imagine if solairs was redesigend to be modudular, think of how much work that would save. now i will be the first to admit i dont have much knowledge of solairs, however i have used it, and help my programming buddies use it. we all agree that modular is the way to go.

    --
    Jack the sound barrier. Bring the noise.
  2. Re:Uhhh by lokedhs · · Score: 4, Interesting
    Except for the fact that he is correct of course.

    Java is only one of the languages that completely prevent stuff like buffer overrun exploits etc. In fact, pretty much every single language except C and C++ do.

  3. Re:Uhhh by WolfWithoutAClause · · Score: 4, Interesting
    Except that's wrong. Running Hello World involves booting up what is, in effect, an entire operating system (the Java VM, with virtual memory, threading, everything, the works).

    Ok, here's an experiment:

    a) run Hello World in Java

    b) run Hello World in C (including booting up Linux)

    Which one is faster? :-)

    --

    -WolfWithoutAClause

    "Gravity is only a theory, not a fact!"
  4. Oh dear lord... by pVoid · · Score: 2, Interesting
    because stuff written in antique programming languages like C [a widely used language created by Bell Labs in the early 1970s] is full of holes. Those languages weren't designed for writing distributed programs to be used over a network. Yet that's what Microsoft still uses.

    The fundamentalism never ends man. I'm almost positive when I assert these three facts:

    NT Kernel is in C but so is SunOS

    SQL Server 2000 is *entirely* C++

    I'm almost positive IE is largely, if not entirely written or at least compiled in C++

  5. Re:Uhhh by Waffle+Iron · · Score: 2, Interesting
    Java doesn't have the speed to do many things efficiently.

    Optimization is always the last thing that you should do on a project. This means that implementing the software in C/C++ should be the last resort. Most of the time, most of your software will run just fine in a safer, easier to use language. When you run into performance issues, that's when you port pieces of your program to C. Unfortunately, a lot of people just assume that they should always start coding in C or C++ right off the bat.

    I personally don't like Java very much. It's bloated for what it does, static typing is a PITA, it doesn't play well with other languages, and it's heavily biased towards the OO paradigm, ignoring other highly useful programming approaches. (Many languages let you mix in bits from various programming styles.)

    What I prefer to do instead is use a very flexible language like Python, then write C extensions for the performance critical parts if/when they are needed. The extension C code tends to be simple straight-line logic that is harder for bugs to hide in. This approach provides a "dynamic range" of performance vs. ease of use that is well well beyond that offered by pure Java or C.

  6. Imagine that you are an alcoholic... by emil · · Score: 3, Interesting

    ...and that, after some real calamity in your life, you have decided to go cold turkey.

    Now, where would you rather go cold turkey? Locked in a liquor store, or locked somewhere free of alcohol?

    A C compiler is the liquor store of systems programming. It reinforces all the bad habits and rewards none of the good.

    C has no formal definition for exceptions (signals can't really count), it does not force good behavior in allocating memory/objects from the heap, the stdio library is slow because of multiple buffer copies (David Korn replaced it with sfio in ksh93), C is constantly beaten by Fortran in computation-intensive applications, Python has shown that C sylistically leaves much to be desired, and this is only the beginning of the criticism.

    I like C a lot too, but ultimately, there is no future in it beyond low-level applications that need to work at a near-assembler level.

    Can you really imagine C being used for systems work in 50 years?

    1. Re:Imagine that you are an alcoholic... by Anonymous Coward · · Score: 1, Interesting

      http://www.intellij.com/idea/
      http://usa.autodesk .com/adsk/servlet/index?siteID= 123112&id=2752581
      http://java.sun.com/products/jf c/tsc/sightings/S17 .html
      http://www.bea.com/framework.jsp?CNT=overvi ew.htm& FP=/content/products/workshop/

  7. This sounds sensible... by infydime · · Score: 2, Interesting

    "What is the actual cost of greenhouse gases, for instance? If you create a marketplace mechanism to solve that problem, you will probably end up creating wealth, and people would stop doing the stupid things they do now because it doesn't cost them anything. The Soviet Union collapsed not because of communism or central planning, but because of corrupt accounting. They couldn't organize the means of production because everybody was lying about everything. It was a game of fake numbers, and when you do that, you get crap for answers. " An interesting way of looking at ways to control pollution. Only if the motor companies actually allow it.

  8. Inefficiency by Detritus · · Score: 2, Interesting
    For decades, "inefficiency" has been the excuse that programmers have used to justify a multitude of sins. Now that computers are thousands of times faster, it is still used to justify unsafe design and implementation decisions. Improvements in compiler technology have reduced the speed penalty for error checking, but that hasn't stopped people from implementing new systems in unsafe languages.

    Don't tell me that leet programmers don't make those stupid mistakes, only idiots. Even if you are God's gift to software engineering, that doesn't change the fact that most programmers are not that good, and time and schedule pressures often make things worse.

    --
    Mea navis aericumbens anguillis abundat
  9. Re:Idiot or Liar? by MisanthropicProggram · · Score: 2, Interesting
    Someone who wants to increase the value of his Sun stock so he can retire in more luxury.

    Fortune Magazine- Who's the audience: PHBs. Who buys systems: PHBs. His candid interview is nothing but a sales pitch.

    --

    There is no spoon or sig.

  10. well.... by ShadowRage · · Score: 2, Interesting

    why not fix C and C++ instead of going on about it being buggy, etc..
    fix what we current have, not make new implementations of it that require a mass change to use it, not to mention java is a ram whore.

    anyways, I do like his idea on fixing common internet problems, however, a lot of that would be simple to fix, example, smtp has been a standard for decades, yet, it's one of the most exploitable protocols ever in existance, all is needed to be done is fix the mail protocol so it cant be so easily abused, (inet6 will help with this as well)
    whatever, I'm about to go back to bed.

  11. Say This at @Stake and You Get Canned by ClassicPenguino · · Score: 1, Interesting
    Says Joy in the interview:
    The Internet is an ecology, so if you build a species on it that is vulnerable to a certain pathogen, it can very well undergo extinction. By the way, the species that go extinct tend to have limited genetic diversity.

    Are you implying that Microsoft Windows is vulnerable to extinction precisely because it is so dominant?

    I wasn't thinking of any particular piece of software, but if you're running a monoculture of software--duh, this is not good.
  12. Java GUIs by tpv · · Score: 3, Interesting
    [Java] isn't ready to be used for anything with a GUI

    *shrug*, it works for us.
    We've switched almost entirely from Powerbuilder to Java, including writing fairly rich GUIs in it. (I personally think the Java GUIs look and feel better than the PB ones).

    The big issue with Java GUIs is that it's almost impossible to do them in a "knock-up" way, (something that VB, PB and the like are good at).
    People try it, and then end up with junk and blame it on the tool. It's true that if you want to throw a GUI together as cheaply and easily as possible, then Java isn't the right tool, but if you want to put together a GUI that fits into a well designed system, then swing works just fine.

    As Gosling recently said,

    "One of the design principles behind Java is that I don't care much about how long it takes to slap together something that kind of works. The real measure is how long it takes to write something solid."
    --
    Read more of this story at Slashdot.Read more of this story at Slashdot.Read more of this story at Slashdot.
  13. AMEN by Ars-Fartsica · · Score: 2, Interesting
    I am so tired of the canned responses on slashdot telling me that only dumb programmers produce errors, and that the entire industry of software tools only exists because we clearly aren't smart enough to catch on the the lowest facts grasped by posters.

    I used to think like this too - when I was in college. Back when the coding projects I worked on were the dorky isolated projects assigned by my profs. Oh it was so easy to pontificate when I only had to code the travelling salesman problem.

    Now I respect programmers who patently avoid anything lower on the architecture totem pole than they have to go. Working programmers who actually make use of advances in compilers, languages, methods and tools to produce working code for large projects that matter. In these projects people use an interpreted language if they can get away with it. They use C++ instead of C if they can get away with it.

    Once again, I would kill to see the actual code produced by most posters here. I suspect that 99% of it is for college assignments.

  14. The US has central planning of consumer production by Animats · · Score: 3, Interesting
    But it doesn't come from Washington. It comes from Bentonville, Arkansas.

    Wal-Mart, headquartered in Bentonville, Arkansas, runs about 3300 stores. It's the biggest retailer in the world. It's the biggest employer in the the US. It's four times the size of the #2 retailer (Home Depot). Wal-Mart's total revenue is over $200 billion. This is more than most small countries. And they're still growing.

    Wal-Mart controls a bigger economy than Gosplan, the USSR's state planning agency for the civilian sector, ever did. And Wal-Mart's control is far tighter. Wal-Mart has far more computing power than Gosplan ever did. Wal-Mart tracks sales daily; Gosplan seldom did better than obtaining annual numbers. If sales of something go up, manufacturers are told within days to increase production. If sales go down, Wal-Mart pulls the plug on the maker just as quickly. Gosplan could only dream of control like that.

    Wal-Mart's "Corridor of Doom" is famous in retailing. That's where you go to sell to Wal-Mart. There's a long hall with buyer's offices, and a waiting room with a pay-per-use coffee machine. Sales reps, and even CEOs, go there and grovel before a polite Wal-Mart buyer who, by tradition, opens with "And what can your company do for Wal-Mart today". The buyer, equipped with data on all of Wal-Mart's suppliers, then squeezes the sales rep on price. Hard. Companies that sell to Wal-Mart don't make big margins. If they do, Wal-Mart searches for an alternative supplier, and plays the suppliers off against each other. (That's why they push Linux.)

    That's how the American consumer product economy really works today.

  15. Re:Java : C :: Emacs : vi by Raffaello · · Score: 4, Interesting

    The whole Turing completeness argument is a straw man. If it were really true, we'd all still be coding individual 1s and 0s, since, after all, "You can do the same thing in one language that you can in any other."

    The real issue is which language is more expressive. Since I can accomplish any task with any of the dozens of Turing complete languages, which language lets me accomplish the task at hand in the fewest lines of code?

    The answer may vary from task to task, but if the task includes the requirement that the finished product be secure, then C loses, because it doesn't protect against one of the most common sorts of attack at the language level, buffer overruns. Common Lisp and Java do. To have this same sort of protection in C, I'd have to write all the additional lines necessary to implement my own runtime to prevent direct access to memory. Hey! I've just re-implemented *part* of Common Lisp, or *part* of Java.

    Thus we come to Greenspun's 10th law of programming:

    "Any sufficiently complicated C or Fortran program contains an ad-hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp."

    You wrote:
    "Oh well, I guess that's what makes people so interesting. The plethora of personalities. Doesn't mean he's right, though."
    Bill Joy's opinion that C is a really dangerous language isn't a quirk of his personality. It's an evaluation based on decades of experience as a pioneer in the computer industry, and a deep understanding of the fact that different languages really are better or worse.

  16. Bad example by mattgreen · · Score: 2, Interesting

    Your example simply describes the misuse of exceptions. I can misuse pointers and destroy the stack, so do you think we should be disallowed pointers.

    Whether you like them or not, exceptions greatly simplify application logic. You no longer have to consistantly check every single return value (making return values indicate success was backwards to begin with at the time - we just hadn't realized it. At least errno is somewhat consistent.)

    Exceptions are used very rarely in C++. They do it right - they are thrown when the state of the object is destroyed by some circumstance, or some other catastrophic failure such as the new operator failing. And it is really freakin hard to make C++ throw an exception from the standard library.