Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / November 2006

Tip: Looking for answers? Try searching our database.

Java  Future

Thread view: 
kmrrg - 01 Nov 2006 01:11 GMT
To all the Java Specialist,
I am in a great dilema whether  i shall go with  (c,c++& Unix)   OR
should i go with java.

How do you see Java in the near future

Is there anybody who can guide me.I am in my final year MCA and i will
have to do project
among these language.

As the technology is changing & Java is so huge.
So,if i go for java, then on which topic should i stress on.
>From the point of view of getting job.

I need to clearify one more thing.
To apply for a project in companys how one should apply for.

I need yours help.
Tom Forsmo - 01 Nov 2006 01:25 GMT
> I am in a great dilema whether  i shall go with  (c,c++& Unix)   OR
> should i go with java.

The only honest answer I can give you is that you need to decide on what
kind of programming you want to do. Each language has its typical use
and community, you need to decide what you will be doing to decide which
language you want to use. for example, in my experience:

- java is among the biggest languages used and is used mostly in
  business environments: backend/integration systems, web system etc.
- c++ is used a lot in embedded devices and similar things
  but also in technical products such as geology control software etc.
- c is used mostly in systems/os programming, embedded devices and core
  server systems
- unix is mostly used in technical environments.

that's my experience, in any case you should look at
software/companies/communities doing the sort of thing you like to do
and check what language they use, that should give you a hint.

> How do you see Java in the near future

None of the languages are going away any time soon and you are going to
have to know several languages at any given time anyway. What you need
right now is programming experience. After a couple of years you have a
feel for the communities and such, then perhaps you can start deciding
on a specific language you want to specialise in.

tom
Arne Vajhøj - 01 Nov 2006 01:45 GMT
> I am in a great dilema whether  i shall go with  (c,c++& Unix)   OR
> should i go with java.
[quoted text clipped - 8 lines]
> So,if i go for java, then on which topic should i stress on.
> From the point of view of getting job.

Of those mentioned definatetly Java.

C/C++ has a great future behind them.

The alternatives to Java should be:
* .NET and C#
* a scripting language like Python or Ruby

Arne
Lionel - 01 Nov 2006 02:44 GMT
>> I am in a great dilema whether  i shall go with  (c,c++& Unix)   OR
>> should i go with java.

> The alternatives to Java should be:
> * .NET and C#

The OP mentioned Unix so there is a good chance they need to run on a
Unix platform. Therefore .NET and C# aren't possibilities. C# is only a
possibility if mono is to be used.

Lionel.
Arne Vajhøj - 01 Nov 2006 03:19 GMT
>>> I am in a great dilema whether  i shall go with  (c,c++& Unix)   OR
>>> should i go with java.
[quoted text clipped - 5 lines]
> Unix platform. Therefore .NET and C# aren't possibilities. C# is only a
> possibility if mono is to be used.

Could be.

But as I read the post, then he was still under education, so
I assumed that platform was not fixed.

Arne
itreflects@gmail.com - 01 Nov 2006 03:10 GMT
> As the technology is changing & Java is so huge.
> So,if i go for java, then on which topic should i stress on.

I think Web Services(SOAP,WSDL,UDDI) and lot lot of Xml related work.

> >From the point of view of getting job.
Go 4 Java (concentrate what is required for enterprise apps), it's
growing and I can't see end.

> I need to clearify one more thing.
> To apply for a project in companys how one should apply for.
>
> I need yours help.
Usually visit local company branch office or if your college has
relationship with IT companies then contact placement officer.
Thomas Weidenfeller - 02 Nov 2006 09:42 GMT
> I am in a great dilema whether  i shall go with  (c,c++& Unix)   OR
> should i go with java.

Not OR, AND. Learn all three. At least if you intend to become a
professional programmer. There is nothing worse than a mono-lingual,
mono-OS "professional" programmer who can't look beyond his own town's
limits.

 > As the technology is changing & Java is so huge.

If you think Java is huge, you haven't run into C++'s STL, or the C
POSIX API.

Technology will always change. If you plan to do your whole programming
career on one single language you should better prepare for a rather
short career. The half-life of bleeding-edge programming/CS/IT/IS
knowledge is supposed to be in the range of two years. Prepare for
livelong learning.

/Thomas
Signature

The comp.lang.java.gui FAQ:
http://gd.tuwien.ac.at/faqs/faqs-hierarchy/comp/comp.lang.java.gui/
ftp://ftp.cs.uu.nl/pub/NEWS.ANSWERS/computer-lang/java/gui/faq

Christopher Benson-Manica - 02 Nov 2006 15:14 GMT
> If you think Java is huge, you haven't run into C++'s STL, or the C
> POSIX API.

I'm not sure I agree that the STL is bigger and/or more complicated
than the Sun Java packages; if you add Boost, I might be more inclined
to agree, but IIRC Boost still does not (and cannot) provide
support for concurrency, socket I/O, or GUI programming, among many
other areas of support that Java does provide.  This doesn't include
the huge array of cross-platform Java tools and toolsets (Spring,
Tomcat, JBoss, Hibernate, etc.) that Java developers will invariably
encounter.

> Technology will always change. If you plan to do your whole programming
> career on one single language you should better prepare for a rather
> short career. The half-life of bleeding-edge programming/CS/IT/IS
> knowledge is supposed to be in the range of two years. Prepare for
> livelong learning.

This at least is certainly true; just ask all the programmer wannabes
from the dotcom bust now holding signs on streetcorners - "Will code
HTML For Food".

Signature

C. Benson Manica           | I *should* know what I'm talking about - if I
cbmanica(at)gmail.com      | don't, I need to know.  Flames welcome.

Simon Brooke - 03 Nov 2006 15:31 GMT
> To all the Java Specialist,
> I am in a great dilema whether  i shall go with  (c,c++& Unix)   OR
[quoted text clipped - 9 lines]
> So,if i go for java, then on which topic should i stress on.
>>From the point of view of getting job.

I think the answer is 'it doesn't matter'. If you're any good at software
you can pick up a new language very quickly (remember what's where in the
APIs can take a little longer). If you can't pick up a new language very
quickly then you weren't ever going to be very good at software anyway.

Signature

simon@jasmine.org.uk (Simon Brooke) http://www.jasmine.org.uk/~simon/
;; This email may contain confidential or otherwise privileged
;; information, though, quite frankly, if you're not the intended
;; recipient and you've got nothing better to do than read other
;; folks' emails then I'm glad to have brightened up your sad little
;; life a tiny bit.

amanda - 05 Nov 2006 16:39 GMT
> > To all the Java Specialist,
> > I am in a great dilema whether  i shall go with  (c,c++& Unix)   OR
[quoted text clipped - 13 lines]
> you can pick up a new language very quickly (remember what's where in the
> APIs can take a little longer).

>  If you can't pick up a new language very
> quickly then you weren't ever going to be very good at software anyway.

How does one determine whether one can pick up a new language quickly
or not?  So far, they all seem pretty much the same to me, at least at
basic level.

> --
> simon@jasmine.org.uk (Simon Brooke) http://www.jasmine.org.uk/~simon/
[quoted text clipped - 3 lines]
> ;; folks' emails then I'm glad to have brightened up your sad little
> ;; life a tiny bit.
Kenneth P. Turvey - 06 Nov 2006 02:24 GMT
>> I think the answer is 'it doesn't matter'. If you're any good at
>> software you can pick up a new language very quickly (remember what's
[quoted text clipped - 6 lines]
> not?  So far, they all seem pretty much the same to me, at least at basic
> level.

All this said, it does matter in reality.  Most employers would like you
to have a couple years experience doing exactly what they are doing in the
language they are using.  When they say experience, they mean full-time
experience.  

It may not make sense, but that is the way the world works.  If you are
going to invest the time to learn a new language to use, you might want to
look at who your target market is before you pick the language.

I really enjoy programming in Java more than I did in C++.  If that's a
factor in your decision making.  Java is just a nicer language to work
with.  It isn't perfect by any means, but it is nice.  

Ideally they would break the old code once every ten years and come up
with a new and better language based on the old one.  They could open
source the old code and allow it to continue developing, but make all the
fixes that were ignored to avoid problems with incompatibility.

Just my 2 cents.

- --
Kenneth P. Turvey <kt-usenet@squeakydolphin.com>

XMPP: kpturvey@jabber.org
amanda - 06 Nov 2006 17:40 GMT
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
[quoted text clipped - 18 lines]
> going to invest the time to learn a new language to use, you might want to
> look at who your target market is before you pick the language.

Thanks a lot.  This is very useful info. I like Java a lot, and some of
the jobs ads I saw that requires Chemistry knowledge which is what I
want to get into - I would like to use my Chemsitry knowledge from
Master's degrees - uses Java but some, no doubt are getting into C#. I
haven't seen an ad but a friend of mine, a Java guy, got an interview
at a big Parma company where he was told that they were going to use
C#.  He lacked Chemistry knowledge and probably showed his dis-interest
in it and so he didn't gett he job.

> I really enjoy programming in Java more than I did in C++.  If that's a
> factor in your decision making.  Java is just a nicer language to work
[quoted text clipped - 6 lines]
>
> Just my 2 cents.

Thanks a lot for the info.

> - --
> Kenneth P. Turvey <kt-usenet@squeakydolphin.com>
[quoted text clipped - 7 lines]
> =97fk
> -----END PGP SIGNATURE-----
Chris Uppal - 06 Nov 2006 13:37 GMT
> >  If you can't pick up a new language very
> > quickly then you weren't ever going to be very good at software anyway.
>
> How does one determine whether one can pick up a new language quickly
> or not?  So far, they all seem pretty much the same to me, at least at
> basic level.

First off, languages are /not/ all pretty much the same -- however it is quite
possible that you have only seen some of the subset of languages that /do/
resemble each other quite strongly.  E.g C is not so very different from Pascal
(once Pascal has been enhanced enough to make it actually usable), and C#
resembles Java rather closely.  But if you were to look at some of the other
real languages which are our there, such as Smalltalk, ML (and family), Lisp
(and family), then you would find very different ways of thinking, much more
powerful ways of structuring programs, and generally a higher level of
abstraction.  And they by no means exhaust the range of seriously intended
languages (e.g. Icon, Prolog, Sather, Dylan, and many, many, more).

Oh, and don't forget SQL.

Secondly, it is easy, when you are used to language X, and trying to learn Y,
to miss important differences between them.  Especially if Y seems to have
near equivalents to most of the features of X.  The problem is that you'll try
to program in Y in the same style (using the same kinds of programming
structures and the kinds of abstraction) as you did in X.  The classic example
of this is the C programmer who uses a C++ compiler but still writes in C (or
very nearly).  Another example which comes up fairly often here is the C++
programmer who tries to use Java as if it were a dialect of C++.

So, how long does it take to pick up a language ?  It depends on your
standards.  If all you are trying to do is get to the point where you know the
syntax well enough to write programs without having to check the manual every
time you use, say, a while loop; then it I see no reason why it should take
longer than a weekend for most well designed languages (simply because any well
designed language has been designed to be learned).  There are exceptions -- I
doubt whether it is possible to learn C++ (even to that minimal extent) in less
than a week or so.  And I doubt whether I personally would ever be able to
learn APL (or its descendent J) no matter how long I tried.

However, knowing a language to that extent is a useless party trick.  You will
neither be writing correct code yourself, nor able to follow other people's
code -- unless it is written in baby talk.  Learning a language to the extent
where you are naturally comfortable with full and idiomatic use of its features
takes a long time.  I would say 1 year of nearly full-time use at a minimum.
You would certainly be /productive/ long before then, but not expert enough to
be trusted to work safely unsupervised.

There may be cases where two languages are genuinely close enough to each other
that knowledge of one will significantly reduce the startup time for another
one, but I can't think of any examples offhand (unless, perhaps in the
functional language world).  I doubt whether I could gain a level of knowledge
of C# equivalent to my knowledge of Java in less than a year -- and they are
about as similar as languages get.

On the other hand, there are /definitely/ languages which are so complicated
and/or arcane and/or treacherous that it would take a lot longer than a year.
I don't believe that it is possible to become a competent C++ programmer in
less than 3 years -- and most people (if they ever manage it at all) will take
longer still.

   -- chris
amanda - 06 Nov 2006 17:55 GMT
> > >  If you can't pick up a new language very
> > > quickly then you weren't ever going to be very good at software anyway.
[quoted text clipped - 6 lines]
> possible that you have only seen some of the subset of languages that /do/
> resemble each other quite strongly.

You are right.

>E.g C is not so very different from Pascal
> (once Pascal has been enhanced enough to make it actually usable), and C#
[quoted text clipped - 15 lines]
> very nearly).  Another example which comes up fairly often here is the C++
> programmer who tries to use Java as if it were a dialect of C++.

I agree. Fortunately, I am not set on any language yet but I am
familiar with C++ syntax adn moreover java syntax. I  have made a
decision to stick with Java to get to J2EE level. (I am learning VB.Net
- intermediate level - and C# just to be familiar with that
environement, hoping to get an internship with any of these but not too
desperate since I really want to stay focus on Java).

> So, how long does it take to pick up a language ?  It depends on your
> standards.  If all you are trying to do is get to the point where you know the
[quoted text clipped - 9 lines]
> neither be writing correct code yourself, nor able to follow other people's
> code -- unless it is written in baby talk.

Yes, that's whay I said "basic level".

> Learning a language to the extent
> where you are naturally comfortable with full and idiomatic use of its features
> takes a long time.
> I would say 1 year of nearly full-time use at a minimum.

It is good to get some perspective like this. Thanks.

> You would certainly be /productive/ long before then, but not expert enough to
> be trusted to work safely unsupervised.

I really appreciate this info. It confirms my thought on it.

> There may be cases where two languages are genuinely close enough to each other
> that knowledge of one will significantly reduce the startup time for another
> one, but I can't think of any examples offhand (unless, perhaps in the
> functional language world).  I doubt whether I could gain a level of knowledge
> of C# equivalent to my knowledge of Java in less than a year -- and they are
> about as similar as languages get.

This is so useful information. A lot of time, I hear people saying
(without much thought), if you know one language, you can learn
another, as if it is like peeling a banana. of cousre, I can understand
that peoples are referring to different level of skills like this
scenario I expereinced in 6th grade in final exam. A classmate asked me
how I did in the exam. Since I didn't feel that I got all answers
right. I said "Not too well.".  She said, she did *verey* well. When
the result came out, she was way way behind me since our shool give the
results in catagories group studnets of different skill level.
.

> On the other hand, there are /definitely/ languages which are so complicated
> and/or arcane and/or treacherous that it would take a lot longer than a year.
> I don't believe that it is possible to become a competent C++ programmer in
> less than 3 years -- and most people (if they ever manage it at all) will take
> longer still.

Great information you gave. Thanks a lot.

>     -- chris
Simon Brooke - 06 Nov 2006 21:53 GMT
> So, how long does it take to pick up a language ?  It depends on your
> standards.  If all you are trying to do is get to the point where you
[quoted text clipped - 15 lines]
> before then, but not expert enough to be trusted to work safely
> unsupervised.

While I'd agree that superficial knowledge of a language can be a dangerous
thing I think you are pessimistic on time frame - at least as far as well
designed languages are concerned. I also think that it's often easier to
learn a language which shares little or nothing in common with the
languages with which one is most familiar than to learn a language which
is a slight but significant variant.

But it's true that different languages have distinct idiolects and allow
one to approach similar problems in quite different ways; and that until
you become sufficiently familiar with a language to think in its idioms
you are not a master of it.

Example: one of the things one uses all the time in LISP are MAPCAR and
friends; they're extremely powerful. I've now been writing in Java pretty
much full time for ten years, and I realise I don't actually know how to
do the equivalent of MAPCAR in Java. Not that I've ever felt the need; it
simply is not a Java idiom.

Signature

simon@jasmine.org.uk (Simon Brooke) http://www.jasmine.org.uk/~simon/

                               ;; lovely alternative to rice.

Simon Brooke - 06 Nov 2006 21:36 GMT
>> > To all the Java Specialist,
>> > I am in a great dilema whether  i shall go with  (c,c++& Unix)   OR
[quoted text clipped - 20 lines]
> or not?  So far, they all seem pretty much the same to me, at least at
> basic level.

OOoooooh...

What you mean is that you've only really been exposed to languages which
trace their syntax and at least some of their core concepts back to Algol.
Try

APL             http://en.wikipedia.org/wiki/APL_(programming_language)
Forth           http://en.wikipedia.org/wiki/Forth
LISP            http://en.wikipedia.org/wiki/Lisp_(programming_language)
(or Scheme, which is similar)
Prolog          http://en.wikipedia.org/wiki/Prolog
Python          http://en.wikipedia.org/wiki/Python_(programming_language)
SmallTalk       http://en.wikipedia.org/wiki/Smalltalk

At least one of these will be a total revelation to you, and will enable
you to do things you wouldn't otherwise think possible; at least one of
them you will find completely impossible to learn. Which is which depends
on you. Apart from Python, none of those listed are currently commercially
important, but all are powerful tools and worth learning.

Note that there are implementations of all the languages listed (except
APL) which will compile for the Java Virtual Machine; see
http://www.robert-tolksdorf.de/vmlanguages.html
http://jvm-languages.com/

Signature

simon@jasmine.org.uk (Simon Brooke) http://www.jasmine.org.uk/~simon/

       Morning had broken, and I found when I looked that we had run out
           of copper roove nails.

Martin Gregorie - 07 Nov 2006 13:36 GMT
.../...

> What you mean is that you've only really been exposed to languages which
> trace their syntax and at least some of their core concepts back to Algol.
[quoted text clipped - 13 lines]
> on you. Apart from Python, none of those listed are currently commercially
> important, but all are powerful tools and worth learning.

Don't forget that there is probably more existing code in:

COBOL    - http://en.wikipedia.org/wiki/COBOL
FORTRAN    - http://en.wikipedia.org/wiki/FORTRAN
C    - http://en.wikipedia.org/wiki/C_(programming_language)

than everything else combined, so take a glance at them too. COBOL is a
big, verbose language, but it and Fortran are possibly the easiest of
the lot to become productive in: both were alive and in use well before
Computer Science was even a gleam in some professor's eye.

In contrast, C must be one of the smallest useful languages and is worth
knowing because so many modern languages have been derived from it. Its
probably the most common language for writing operating systems, system
utilities and compilers.

Last but not least, its worth knowing that monsters like PL/1 exist:

http://en.wikipedia.org/wiki/PL/1

This was an attempt at IBM to create a programming language to end all
programming languages, apparently by combining COBOL, Fortran and Algol
60 - some would say by combining the worst features of all three.

Algol 60 (http://en.wikipedia.org/wiki/Algol_60) isn't much used these
days but deserves respect. It was the first block structured language
and also the first to allow arrays to be dynamically sized at run time
and one of the few to let array subscripts to have a base other than
zero or 1.

Signature

martin@   | Martin Gregorie
gregorie. | Essex, UK
org       |

John W. Kennedy - 11 Nov 2006 02:01 GMT
> Last but not least, its worth knowing that monsters like PL/1 exist:
>
[quoted text clipped - 3 lines]
> programming languages, apparently by combining COBOL, Fortran and Algol
> 60 - some would say by combining the worst features of all three.

Rubbish. There is much that is wrong with PL/I, given 40 years'
hindsight, but, apart from the absence of things that had not yet been
invented, such as OO, it is almost entirely due to two other causes:

  1) A general philosophy that anything that /could/ be done, /should/
be done, such as allowing arithmetic on character strings provided that
they convert to numeric values.

  2) Unwise implementations of features new to HLLs, such as all
pointers being anonymous, exception handlers that have to be activated
at run time (due to a false analogy with set-interrupt-handler APIs in
assembler), and the use of exception handlers for non-exceptional
conditions, such as end-of-file.

But with all its faults, PL/I was the best vehicle for adult programming
on mainframes for decades.

Signature

John W. Kennedy
"The blind rulers of Logres
Nourished the land on a fallacy of rational virtue."
  -- Charles Williams.  "Taliessin through Logres: Prelude"

Stefan Ram - 11 Nov 2006 02:08 GMT
>Rubbish. There is much that is wrong with PL/I, given 40 years'
>hindsight, but, apart from the absence of things that had not yet been
>invented, such as OO

 1962 Simula (1964: first implementation)
 1966 PL/I (first manual)
John W. Kennedy - 11 Nov 2006 03:16 GMT
>> Rubbish. There is much that is wrong with PL/I, given 40 years'
>> hindsight, but, apart from the absence of things that had not yet been
>> invented, such as OO
>
>   1962 Simula (1964: first implementation)
>   1966 PL/I (first manual)

    1964 PL/I (announcement, as "NPL")
    1965 I personally read a published NPL manual in July
    1967 Simula 67 (first version with classes)

Signature

John W. Kennedy
"The blind rulers of Logres
Nourished the land on a fallacy of rational virtue."
  -- Charles Williams.  "Taliessin through Logres: Prelude"

Stefan Ram - 11 Nov 2006 03:44 GMT
>1964 PL/I (announcement, as "NPL")

 There must have been an "xPL" naming scheme at that time,
 because there also was "CPL", which was influenced by Algol 60
 and Christopher Strachey.

http://en.wikipedia.org/wiki/Combined_Programming_Language

 Its design goal was similar to PL/I as a "large" language for
 every purpose.

 CPL was a predecessor of BCPL, then B, the C. Since C++ is
 based on C, and the Java-Syntax was created to be familiar for
 C and C++ programmers, Java is remotely and partially based on
 CPL.

 Strachey sometimes is quoted as if he had coined the term
 "polymorphism" in a CPL-related summercamp lecture in 1967.
 But now I read these lecture notes and found that he only
 coined the distinction between parametric and ad-hoc
 polymorphism, but takes the basic notion of "polymorphism" for
 granted.

 Sometimes, the sentence »Polymorphism is the ability of a
 function to handle objects of many types« is attributed to
 Strachey or this lecture, but this is not contained in the
 summercamp lecture notes.

 So, I am still looking for an CPL manual predating this
 lecture, because it might contain an early definition of
 "polymorphism". I am still searching for the roots of this
 notion.

 "The main features of the CPL" from Volume 6, Issue 2, of "The
 Computer Journal" might help to clarify that, because
 "polymorphism" might have been used therein to describe some
 aspect of CPL. But, they seem to have published several issues
 online

http://comjnl.oxfordjournals.org/archive/1963.dtl

 but not that very issue in question. Actually, it has been
 published

http://scholar.google.com/scholar?q=cache:www.oxfordjournals.org/computer_journa
l/hdb/Volume_06/Issue_02/060134.sgm.abs.html


 , but now has disappeared from the web.

 Well, many things happend in 1967, Strachey gave this
 lecture and Kay coined "object-oriented", and then?

 »Computer science has been in a dark age since the 1970s.«
 (Lupo LeBoucher)

 I recently heard someone boast that they have a
 natural-language system that can understand references by
 words like "it". But this was already achieved by SHRDLU in
 1968-1970.

http://hci.stanford.edu/~winograd/shrdlu/

 So, where is the progress?

 Oh yes: Java now does have a »printf«, so that one can
 fill output fields more easily.

     The March of Progress

     1980: C  
     printf("%10.2f", x);

     1988: C++
     cout << setw(10) << setprecision(2) << showpoint << x;

     1996: Java
     java.text.NumberFormat formatter =
     java.text.NumberFormat.getNumberInstance();
     formatter.setMinimumFractionDigits(2);
     formatter.setMaximumFractionDigits(2);
     String s = formatter.format(x);
     for (int i = s.length(); i < 10; i++)
     System.out.print(' ');
     System.out.print(s);

     2004: Java
     System.out.printf("%10.2f", x);

http://horstmann.com/

 And this does not even use

import static System.out;

 which could make the last line even shorter.
Simon Brooke - 11 Nov 2006 13:34 GMT
>>1964 PL/I (announcement, as "NPL")
>
[quoted text clipped - 6 lines]
>   Its design goal was similar to PL/I as a "large" language for
>   every purpose.

I doubt there was any serious influence either way between NPL and CPL.
Although the projects were similar in intent, the distance between Britain
and the United States, in communication terms, was much greater at the
time. Further, there was a considerable distance between the academic and
commercial worlds, and CPL was a British academic project whereas PL/I was
a US commercial one.

>   CPL was a predecessor of BCPL,

Ish. As I understand it CPL never ran. BCPL was a cut down version of
things done at the Cambridge end of the project in exploring compiler
design. BCPL is a /much/ more primitive language than CPL was envisaged as
being.

>   then B, the C. Since C++ is
>   based on C, and the Java-Syntax was created to be familiar for
>   C and C++ programmers, Java is remotely and partially based on
>   CPL.

There's much more in common between BCPL and Java than that; indeed, BCPL
was a very interesting and in many ways very forward looking language. The
BCPL compiler compiled to 'CINT code' (Compact INTerpreted code) -
essentially VM instructions. The 'CINT code interpreter' was the only part
of the system which had to be rewritten to port BCPL to a new hardware
architecture, and was essentially a VM. A BCPL program could assume the
presence of standard libraries analogous to the Java's standard classes.

BCPL was the first real attempt at 'compile once, run anywhere'. It
partially worked: the exact same compiled binary would run on a BBC micro
or an Amiga or an ICL mainframe.

B was essentially BCPL with a native-code compiler for a particular
concrete machine architecture. In my opinion that was a retrograde step. C
started life as B with a preprocessor. So BCPL has been hugely
influential.

Signature

simon@jasmine.org.uk (Simon Brooke) http://www.jasmine.org.uk/~simon/

               ;; killing [afghan|iraqi] civilians is not 'justice'

Thomas Hawtin - 11 Nov 2006 14:02 GMT
>       The March of Progress
>
[quoted text clipped - 18 lines]
>
> http://horstmann.com/

To be fair, if you didn't want the spaces (and not many people do
today), then the following could have be written for Java 1996:

    System.out.println(MessageFormat.format(
            "{0,number,0.00}", new Object[] {
                new Float(x)
            }
    ));

And Java 2004 could go down to:

    out.println(format("{0,number,0.00}", x));

(I'm not showing imports, as #include and the namespace thingy isn't
shown (for C++ 1997).)

I think it unfortunate that such a cryptic format was chosen for Java
printf.

Tom hawtin
John W. Kennedy - 11 Nov 2006 02:04 GMT
>>>> To all the Java Specialist,
>>>> I am in a great dilema whether  i shall go with  (c,c++& Unix)   OR
[quoted text clipped - 42 lines]
> http://www.robert-tolksdorf.de/vmlanguages.html
> http://jvm-languages.com/

Also, even though it is a member of the great ALGOL family, there are
many things in Ada that can open one's eyes. I recommend the Barnes book.

Signature

John W. Kennedy
"The blind rulers of Logres
Nourished the land on a fallacy of rational virtue."
  -- Charles Williams.  "Taliessin through Logres: Prelude"

Daniel Pitts - 03 Nov 2006 22:01 GMT
> To all the Java Specialist,
> I am in a great dilema whether  i shall go with  (c,c++& Unix)   OR
[quoted text clipped - 14 lines]
>
> I need yours help.

Its been proven that species which specialize have a hard time dealing
with change.
Learn Java, learn C++, but the most important thing to learn is
problem-solving.  Your question is a bit like asking "Should I learn
Chinese or Japanese."  If you're going to Japan, learn Japanese, if
you're going to China, learn Chinese, but if you having nothing to say,
don't bother learning to speak.

Personally, I learned C first, then C++ and assembly, then Java, and
eventually python.  I do most of my coding in Java now, but think of
every language you know as a tool in your toolbelt.  If you don't know
how to build something, your tools are useless, conversely, if you
don't have any tools, its very hard to build something.  Just start
somewhere; Java is popular enough (it will be around for a long time),
so I would suggest Java.

Don't mind my long winded post, I just needed to philosophize on
"paper".

-- Daniel.
Tom Forsmo - 03 Nov 2006 22:06 GMT
> Its been proven that species which specialize have a hard time dealing
> with change.
[quoted text clipped - 3 lines]
> you're going to China, learn Chinese, but if you having nothing to say,
> don't bother learning to speak.

Isn't there a faq somewhere where this question is answered? it keeps
popping up every week and every time it is answered anew.

tom
Arne Vajhøj - 03 Nov 2006 22:48 GMT
> Isn't there a faq somewhere where this question is answered? it keeps
> popping up every week and every time it is answered anew.

A FAQ is excellent for questions with a reasonable
objective answer.

If you ask 10 people about the future of Java you
will get 11 different answers.

And it is not possible to determine who is right.

It is probably the wrong forum to ask the question
anyway. Replies could easily be biased.

Arne
Tom Forsmo - 04 Nov 2006 02:07 GMT
> If you ask 10 people about the future of Java you
> will get 11 different answers.

But this does not stop us from trying to write a constructive answer
designed to try to help a person, instead of feeding our own bias.

The typical answers I've been reading the last couple of weeks are, "you
need to learn more than one language anyway", "get some experience then
you can decide on which langauge to specialise in" "java is good for
this, c is good for that, the java community is in this shape, the ruby
community is in that shape etc".

Those types of answers are the most helpful, and I would have thought
there was an faq covering it or at least could have.

> And it is not possible to determine who is right.

It is not up to us to decide for others what is right or wrong, but
rather, share our expcerience on what tool is probably most suitable for
which tasks.

tom
Arne Vajhøj - 04 Nov 2006 04:10 GMT
>> If you ask 10 people about the future of Java you
>> will get 11 different answers.
[quoted text clipped - 10 lines]
> Those types of answers are the most helpful, and I would have thought
> there was an faq covering it or at least could have.

But how will you decide who's opinion goes into the FAQ ? Or will you
just continue adding every time someone has a view on it ?

>> And it is not possible to determine who is right.
>
> It is not up to us to decide for others what is right or wrong, but
> rather, share our expcerience on what tool is probably most suitable for
> which tasks.

My statement was directly related to the previous statement.

Arne
Tom Forsmo - 04 Nov 2006 11:18 GMT
> But how will you decide who's opinion goes into the FAQ ? Or will you
> just continue adding every time someone has a view on it ?

We choose the top 3 or 5 kind of answers in the group that should cover
most of the information required for the person to make an semi-informed
decision or, at least, that gives him enough information to know what he
should be considering. If there should be the odd answer here or there
that makes a very good point, it should probably be added too.

tom
Arne Vajhøj - 04 Nov 2006 23:24 GMT
>> But how will you decide who's opinion goes into the FAQ ? Or will you
>> just continue adding every time someone has a view on it ?
[quoted text clipped - 4 lines]
> should be considering. If there should be the odd answer here or there
> that makes a very good point, it should probably be added too.

That is a possibility.

But it would more or less ruin the entire FAQ idea.

I expect a FAQ to show the correct answer.

Not a subjective opinon about something that just
accidentally happen to be popular belief at time T.

Arne
Tom Forsmo - 05 Nov 2006 10:51 GMT
> But it would more or less ruin the entire FAQ idea.
>
> I expect a FAQ to show the correct answer.
>
> Not a subjective opinon about something that just
> accidentally happen to be popular belief at time T.

Yes, for the popular belief in time T. Languages, APIs and solutions
also evolve, a correct answer for something changes over time as well.

A faq is Frequently Asked Questions, which contains answers that can be
succinct, elaborate or incomplete. But its an answer, to the best of the
groups ability.

The point of putting a question in a faq, is of course, to save us from
having the same discussion over and over again with the same result.
This, though, does not stop the group from revisiting the question when
actual new information arrives that could possibly change the answer in
the faq.

tom
Thomas Weidenfeller - 06 Nov 2006 10:38 GMT
>> Isn't there a faq somewhere where this question is answered? it keeps
>> popping up every week and every time it is answered anew.
>
> A FAQ is excellent for questions with a reasonable
> objective answer.

I can tell you from experience that an FAQ doesn't help much. These days
the people who would benefit most from reading an FAQ are also the ones
who most likely don't read it.

/Thomas
Signature

The comp.lang.java.gui FAQ:
http://gd.tuwien.ac.at/faqs/faqs-hierarchy/comp/comp.lang.java.gui/
ftp://ftp.cs.uu.nl/pub/NEWS.ANSWERS/computer-lang/java/gui/faq

Tom Forsmo - 06 Nov 2006 14:59 GMT
>>> Isn't there a faq somewhere where this question is answered? it keeps
>>> popping up every week and every time it is answered anew.
[quoted text clipped - 5 lines]
> the people who would benefit most from reading an FAQ are also the ones
> who most likely don't read it.

That might be true, bit it is a good source to refer to so we don't have
to answer the same question for the nth time. The comp.lang.c faq for
example is extremely valuable and well written.

Does there exist a comp.lang.java.{programmer,help} faq of its own?
(I know there is one comp.lang.java faq but it has not been updated
since 1997, so its a bit old.)

I know of the mini faq that's posted in this group every week or so,
does any of the faq in there cover many of the faq questions that come
up in this group? Some of the questions I can think of are
- which is the best language
- what is best for developing app X
- what do you think is the future in java
- compilation/classpath problems
- does java have pointers / what's a reference compared to a pointer
and other basic language questions.

I know that the faqs listed in the mini faq are very good, but I feel
that there is some stuff not covered by them. Am I mistaken?

tom
Daniel Dyer - 06 Nov 2006 23:06 GMT
> That might be true, bit it is a good source to refer to so we don't have  
> to answer the same question for the nth time. The comp.lang.c faq for  
[quoted text clipped - 3 lines]
> (I know there is one comp.lang.java faq but it has not been updated  
> since 1997, so its a bit old.)

I'm pretty sure that there is no currently maintained FAQ for this group.

> I know of the mini faq that's posted in this group every week or so,

The mini FAQ is more about what the groups are for than answering  
particular technical questions.

> does any of the faq in there cover many of the faq questions that come  
> up in this group? Some of the questions I can think of are
[quoted text clipped - 4 lines]
> - does java have pointers / what's a reference compared to a pointer
> and other basic language questions.

How do I find out the size of an object?
Can I create a native executable with Java?
What do these warnings about unchecked conversions mean?

And many, many more.

> I know that the faqs listed in the mini faq are very good, but I feel  
> that there is some stuff not covered by them. Am I mistaken?
>
> tom

Not at all, but I think that an FAQ for this group would be a significant  
undertaking... but that doesn't mean it wouldn't be worthwhile...

The JINX wiki looked quite promising as a kind of collaborative FAQ but it  
seems to have been suffering problems for a while now.  I don't know if  
the problems are terminal (Chris?).

Dan.

Signature

Daniel Dyer
http://www.uncommons.org

Ed - 03 Nov 2006 23:12 GMT
Daniel Pitts skrev:

> > To all the Java Specialist,

> Its been proven that species which specialize have a hard time dealing
> with change.
[quoted text clipped - 16 lines]
>
> -- Daniel.

Nice answer, Daniel.

Some of the others seem to reflect an unusually balls-'n'-all version
of programming. Strange for geeks (which we programmers all are - if
you wanna argue, pick a fight with a bouncer). "You have to know all
modern computer languages!" sounds a bit too macho to be true.

.ed

--

www.EdmundKirwan.com - Home of The Fractal Class Composition
amanda - 05 Nov 2006 16:37 GMT
> > To all the Java Specialist,
> > I am in a great dilema whether  i shall go with  (c,c++& Unix)   OR
[quoted text clipped - 30 lines]
> somewhere; Java is popular enough (it will be around for a long time),
> so I would suggest Java.

About assembly, when I started taking programming classes I didn't take
Assembly. Now, after learning C++, Java, VB.net, C#  (currently) - will
concentrate on Java - should I bother taking a  clas in Assembly? (Note
that I took DBMS, TCP/IP, and some other classes). Personally, I dont'
feel like I am missing that much for not having taken Assembly but I
still wonder ...

BTW, to all those responded here, know that this thread has been very
informative for me as well.

> Don't mind my long winded post, I just needed to philosophize on
> "paper".
>
> -- Daniel.
Daniel Pitts - 05 Nov 2006 16:55 GMT
> > ...
> > Personally, I learned C first, then C++ and assembly, then Java, and
[quoted text clipped - 14 lines]
> BTW, to all those responded here, know that this thread has been very
> informative for me as well.

Because Assembly is so low level, learning it helps give one a better
understanding of how the computer works in a fundimental way.  I think
it is useful to learn assembly, but I know many programmers who know
very little about it.

To refrase: You may never need write anything in assembly, but learning
how to do so will give you a more rounded experience base.

Personally, if I were a manager hiring someone, I would prefer an
applicant with assembly experience, but I'd also prefer they avoided
using it unless there was a time-critical project involved.  "Premature
optimization is the root of all evil" -Knuth

Good luck,
Daniel.
amanda - 05 Nov 2006 17:19 GMT
> > > ...
> > > Personally, I learned C first, then C++ and assembly, then Java, and
[quoted text clipped - 17 lines]
> Because Assembly is so low level, learning it helps give one a better
> understanding of how the computer works in a fundimental way.

That would include how each data type is handled, etc.

> I think
> it is useful to learn assembly, but I know many programmers who know
> very little about it.

> To refrase: You may never need write anything in assembly, but learning
> how to do so will give you a more rounded experience base.

I always felt that way. When I wanted to take it the class time was
clashing and now, I am so pressed with time.

> Personally, if I were a manager hiring someone, I would prefer an
> applicant with assembly experience, but I'd also prefer

> they avoided using it unless there was a time-critical project involved.
Can you Elaborate on the above statement?

> "Premature
> optimization is the root of all evil" -Knuth
>
> Good luck,
> Daniel.
Dag Sunde - 05 Nov 2006 17:42 GMT
<snipped/>
>> Personally, if I were a manager hiring someone, I would prefer an
>> applicant with assembly experience, but I'd also prefer
>
>> they avoided using it unless there was a time-critical project
>> involved.
> Can you Elaborate on the above statement?

"Time to market" and "maintenance nightmare" are two thoughts
that springs to mind...

>> "Premature
>> optimization is the root of all evil" -Knuth

And thats a third...

:-)

Signature

Dag.

Tom Forsmo - 05 Nov 2006 17:48 GMT
>> Because Assembly is so low level, learning it helps give one a better
>> understanding of how the computer works in a fundimental way.
>
> That would include how each data type is handled, etc.

I would also suggest reading a good book about modern hardware and
specifically processors. It will help you understand how a computer
performs high level tasks and what to avoid and such.  (a good book on
modern computer systems/processors is "Computer Organization And Design"
http://www.amazon.co.uk/Computer-Organization-Design-Interface-Architecture/dp/1
558606041/sr=1-1/qid=1162748658/ref=sr_1_1/202-3475253-3023821?ie=UTF8&s=books


F.ex. a common assumption by many programmers today is that memory usage
does not matter any more, because its so cheap. But if you have some
knowledge of how computers work you would understand that a given
algorithm processing a large amount of data could perform significantly
better if it took into account actual usage of data types on the
processor, memory alignment, level 1/2/3 caches, superpipelining etc and
how that can affect the efficiency of a solution. It could in other word
 help you design/program a solution which only requires say 32MB of
memory instead of 128MB. And for the system to don't have to read
through 4 times as much memory would save some time.

>> they avoided using it unless there was a time-critical project involved.
> Can you Elaborate on the above statement?

only optimise a piece of code with assembly if that part of the code is
time-critical.
amanda - 05 Nov 2006 19:41 GMT
> >> Because Assembly is so low level, learning it helps give one a better
> >> understanding of how the computer works in a fundimental way.
[quoted text clipped - 6 lines]
> modern computer systems/processors is "Computer Organization And Design"
> http://www.amazon.co.uk/Computer-Organization-Design-Interface-Architecture/dp/1
558606041/sr=1-1/qid=1162748658/ref=sr_1_1/202-3475253-3023821?ie=UTF8&s=books

Thanks. I got the isbn no for it (1558606041) and saw that used books
are available. In fact, at
http://www.amazon.com/Computer-Organization-Design-Interface-Architecture/dp/155
8606041/sr=11-1/qid=1162754505/ref=sr_11_1/104-1059271-0022363

amazon is suggetsing the book "Operating System Concepts by Abraham
Silberschatz" to buy along with it. Should I also an operating system
book? I really don't want to take a class for Operating System since
only Universities offers it and  the nearest Univ here has severe
parking issues for me to commute.

Should I bother reading Operating System? Whatw ould be best book for
self-learning?

One review on "Operating System Concepts by Abraham Silberschatz" said
as follows:
"Where that book (refers to isbn 1558606041) looks at how computers
work from the point of view of electrons whizzing by on the silicon,
this book looks at how they work from the point of view of the
operating system."

Another review said " Excellent textbook on the design of operating
systems, January 13, 2006"

But another said " Try reading 3 pages without falling asleep, March 4,
2006" and suggests to try the book by Tanenbaum  but I know that
Tanenbaum's book is text book too. The school I was going to used it
but instructor at the time was terrible - it's not her fault theough
since the shcool used here for every courses they didn't have an
instrictor - and I didn't take it.

> F.ex. a common assumption by many programmers today is that memory usage
> does not matter any more, because its so cheap. But if you have some
[quoted text clipped - 12 lines]
> only optimise a piece of code with assembly if that part of the code is
> time-critical.

Guess I should take Assembly then.
Tom Forsmo - 06 Nov 2006 00:47 GMT
> Should I bother reading Operating System? Whatw ould be best book for
> self-learning?

Its allways a good idea to know something about the underlying systems,
be it hw, os, libraries, frameworks etc.

I have not heard of the book you are refering to, but from the index it
looks like a reasonable book. But I dont know about its actual contents.

There are two authors well known for their operating systems books,
William Stallings and Andrew Tannenbaum. Stallings tend to write books
about OS concepts, while Tanenbaum writes books about making operating
systems (he is the inventor and maintainer of the Mach operating system)

The book you suggested has higher rating on Amazon than Stallings, but
as I said I dont know it.

Tanenbaums book is

http://www.amazon.com/Modern-Operating-Systems-Andrew-Tanenbaum/dp/0130313580/sr
=1-2/qid=1162771917/ref=pd_bbs_sr_2/002-8324595-2191217?ie=UTF8&s=books


There is another book as well, which I used when at university (its not
highly rated at amazon either, but I think its quite good). Mind you, it
is much more technical and a bit older, than stallings, but the main
principles conveyed should still be the same.

http://www.amazon.com/Concurrent-Systems-Integrated-Operating-Distributed/dp/020
1177676/sr=1-2/qid=1162772344/ref=sr_1_2/002-8324595-2191217?ie=UTF8&s=books


(I dont understand though, why OS books are so expensive, over a $100!?!?!)

>> only optimise a piece of code with assembly if that part of the code is
>> time-critical.
>
> Guess I should take Assembly then.

You should learn some assembly because it helps you better understand
hardware details. You probably wont be using assembly much, at least if
you do enterprise programming, but if you do embedded or other similar
things, then of course. In my 11 years of working in computing I have
only used assembly once in an actual project, and that was when
optimising a TCP/IP stack in NetBSD to use parallell processing to
perform internet checksum calculations for multimedia servers
But as I said, its a good idea to have done some programming in assembly
to understand it better and to know what its about.

tom
Chris Uppal - 06 Nov 2006 12:13 GMT
> Tanenbaum writes books about making operating
> systems (he is the inventor and maintainer of the Mach operating system)

I think you mean the Minix OS,  "Mach" is something else (and a lot more
interesting).

http://www.stepwise.com/Articles/Technical/MeetMach.html

   -- chris
amanda - 06 Nov 2006 17:33 GMT
> > Should I bother reading Operating System? Whatw ould be best book for
> > self-learning?
[quoted text clipped - 12 lines]
> The book you suggested has higher rating on Amazon than Stallings, but
> as I said I dont know it.

Since I won't be making OS, I think what I should get is the other type
of book, not Tanenbaums's.

> Tanenbaums book is
>
[quoted text clipped - 21 lines]
> optimising a TCP/IP stack in NetBSD to use parallell processing to
> perform internet checksum calculations for multimedia servers

> But as I said, its a good idea to have done some programming in assembly
> to understand it better and to know what its about.

Oh, I really wanted to get to know these things. At the time - where I
was going to school in another state, I was in a hurry to leave the
school and city becaue of illness worsedned by the climate.  I will
take it here - a 2 year college  but the instructor for that class very
good.

For operating system books, I can get Barnes and Nobel - one in 5 mins
drive from my place - odrered it check out before buying.

Thanks a lot.
Chris Uppal - 06 Nov 2006 13:40 GMT
> Should I bother reading Operating System?

If you want to be any good then sooner or later you will have to learn
something about what goes on below the level of the language(s) you are using.
That includes things like hardware design, language implementation, and OS
implementation.  Whether it is a good idea for you to try to learn all that
stuff /now/ is a different matter.  If you find you are uncomfortable with your
current levels of insight (feeling as if you are being kept in the dark about
important things), or are just plain curious (and have time/cash to indulge
that) then by all means try to broaden your scope now.  If not then there's no
reason not to put it off until later.  You can't do /everything/ at once...

I remember feeling very frustrated when I was learning to program -- all this
stuff that seemed to happen "by magic".  Did people really expect me just to
accept all that ?!  Anyway, I found a book which scratched that itch nicely --
Andy Tanenbaum's "Structured Computer Organisation".  That's a very old book
now, but if you can find a copy in a library then I think it's still worth a
read.  I don't know what the current edition is like (it's in it's fifth
edition, I read the second -- which is now quite dated), but few[*] concepts in
hardware/software have changed in the last 50 years so I suspect it might still
be pretty good.

One specific point: I don't think that (these days) learning assembler is a
particularly good way to learn hardware.  The real architecture of common
modern CPUs is so different from their instruction set that effectively
"assembler" is just another high level language (a very odd one, and one that
is very difficult to use, but not much more "close to the metal" than -- say --
C).   of course, you may need assembler for other reasons -- you may even pick
it up as you learn about hardware.  I'm not suggesting you avoid it, but only
that it has little value as an end in itself.

   -- chris

[*] But not none: for instance the Micro-Kernel approach to OS design seems to
have faded away (ed. 2 talks quite a lot about that).  Also micro-processor
design has become Very Strange...
Tom Forsmo - 06 Nov 2006 15:14 GMT
> One specific point: I don't think that (these days) learning assembler is a
> particularly good way to learn hardware.  The real architecture of common
[quoted text clipped - 4 lines]
> it up as you learn about hardware.  I'm not suggesting you avoid it, but only
> that it has little value as an end in itself.

To a certain extent I agree, but it does allow you to read the details
of and experiment with the processors own instructions, this is
invaluable information. In addition to this, knowing how modern
processors and computers work, helps you understand what actually
happens when you write a statement or algorithm in java.

tom
amanda - 06 Nov 2006 18:06 GMT
> > One specific point: I don't think that (these days) learning assembler is a
> > particularly good way to learn hardware.  The real architecture of common
[quoted text clipped - 8 lines]
> of and experiment with the processors own instructions, this is
> invaluable information.

Yes, I want to know those thing.

>In addition to this, knowing how modern
> processors and computers work, helps you understand what actually
> happens when you write a statement or algorithm in java.

That's great. Thanks.

> tom
amanda - 06 Nov 2006 18:04 GMT
> > Should I bother reading Operating System?
>
> If you want to be any good then sooner or later you will have to learn
> something about what goes on below the level of the language(s) you are using.

That's exactly how I feel.

> That includes things like hardware design, language implementation, and OS
> implementation.  Whether it is a good idea for you to try to learn all that
> stuff /now/ is a different matter.

>If you find you are uncomfortable with your
> current levels of insight (feeling as if you are being kept in the dark about
> important things),

Yes, I feel that.

>or are just plain curious (and have time/cash to indulge
> that) then by all means try to broaden your scope now.

Yes, I think it is time for me  to not procrastinate anymore, i.e not
let other things get me sidetracked as it has been the past 3 years
doing things for this sibiling and that sibling who're taking advantage
on my helpful nature. There is only so much time to get things done.

> If not then there's no
> reason not to put it off until later.  You can't do /everything/ at once...

That has been the case.

> I remember feeling very frustrated when I was learning to program -- all this
> stuff that seemed to happen "by magic".  Did people really expect me just to
> accept all that ?!  Anyway, I found a book which scratched that itch nicely --
> Andy Tanenbaum's "Structured Computer Organisation".  That's a very old book
> now, but if you can find a copy in a library then I think it's still worth a
> read.

Ok.

>I don't know what the current edition is like (it's in it's fifth
> edition, I read the second -- which is now quite dated), but few[*] concepts in
> hardware/software have changed in the last 50 years so I suspect it might still
> be pretty good.

Will look for it.

> One specific point: I don't think that (these days) learning assembler is a
> particularly good way to learn hardware.

That's what I was wondering too.

>The real architecture of common
> modern CPUs is so different from their instruction set that effectively
[quoted text clipped - 3 lines]
> it up as you learn about hardware.  I'm not suggesting you avoid it, but only
> that it has little value as an end in itself.

That's very good to know.  Thanks.

>     -- chris
>
> [*] But not none: for instance the Micro-Kernel approach to OS design seems to
> have faded away (ed. 2 talks quite a lot about that).  Also micro-processor
> design has become Very Strange...
Daniel Pitts - 05 Nov 2006 22:10 GMT
> >> they avoided using it unless there was a time-critical project involved.
> > Can you Elaborate on the above statement?
I did, it was the quote of Knuth.  Optimizing early wastes time,
energy, and money.  Not just early, but later during maintanence.

> only optimise a piece of code with assembly if that part of the code is
> time-critical.

The truth is, generally you can optimize your algorithm effectivly
without resorting to worring about a cycle here or a byte there.
Sometimes, if you're on the cutting edge of technology, you need to
trim as much as possible. However, in most circumstances, having a
profiler to tell you exactly what part of your code is taking the most
amount of time, and then fixing that, is the best way to go.  Often
times you'd be surprised by what is actually slow versus what you would
expect to be slow.
Arne Vajhøj - 05 Nov 2006 22:45 GMT
> Personally, if I were a manager hiring someone, I would prefer an
> applicant with assembly experience, but I'd also prefer they avoided
> using it unless there was a time-critical project involved.  "Premature
> optimization is the root of all evil" -Knuth

The common practice 20-30 years ago of determining the performance
critical code and write that in assembler should be considered
obsolete.

The reason to write in assembler is if you can do something
in a way that the compiler can not - like using special instructions
and similar.

The first give maybe 5%. The latter may give x5.

Arne
Daniel Pitts - 05 Nov 2006 22:52 GMT
> > Personally, if I were a manager hiring someone, I would prefer an
> > applicant with assembly experience, but I'd also prefer they avoided
[quoted text clipped - 12 lines]
>
> Arne
True, however, the better solution would probably be to change the
optimizer to use those special instructions where appropriate.

Daniel.


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.