Path: csiph.com!aioe.org!news.mixmin.net!weretis.net!feeder4.news.weretis.net!usenet.ukfsn.org!not-for-mail From: Martin Gregorie Newsgroups: comp.lang.java.programmer Subject: Re: Aspect questions? Date: Thu, 1 Mar 2012 21:19:18 +0000 (UTC) Organization: UK Free Software Network Lines: 56 Message-ID: References: <4f4a6b1d$0$290$14726298@news.sunsite.dk> NNTP-Posting-Host: 84.45.235.129 Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Trace: localhost.localdomain 1330636758 32737 84.45.235.129 (1 Mar 2012 21:19:18 GMT) X-Complaints-To: usenet@localhost.localdomain NNTP-Posting-Date: Thu, 1 Mar 2012 21:19:18 +0000 (UTC) User-Agent: Pan/0.135 (Tomorrow I'll Wake Up and Scald Myself with Tea; GIT 30dc37b master) Xref: csiph.com comp.lang.java.programmer:12564 On Wed, 29 Feb 2012 23:24:11 -0800, Lew wrote: > > I'm sure that it's useful to know several languages. > Its indirectly useful: keeps your mind flexible and maintains its ability to learn. I think its useful to have experience that covers the range from totally unstructured languages (assembler, BASIC) through the middle ground (COBOL, Fortran) to block structured ones (Algol, Pascal, C and curly bracket languages)) and OO, if only because it makes learning a new language easier. Knowing a few scripted languages is also useful, though more in the *NIX world, where you really need to know shell scripting, plus the basics of awk and/or Perl. Familiarity with PHP and (maybe) Python is also useful. I admit my prejudices show here: I really don't much like Perl or Python. OTOH I do like 4GLs and report generators despite their often limiting and (often) BASIC-like syntax because you can write useful programs so fast and in so few lines. > Did I waste my time? > No. See above. > Could it be that learning multiple languages, and how the hardware > works, and how to freaking build an application such that it actually > runs for someone for a change, and all those other foundational, > A basic understanding of hardware and, by extension, a non-superficial knowledge of at least one OS can be very helpful for trouble shooting. Related to this, if you use databases you need a fairly deep understanding of SQL - deep enough to understand how the DBMS, the schema and SQL queries interact and how to use this knowledge to sort out performance problems for the DBMS(es) you use. All too many relational database 'designers' and the programmers working for them haven't the faintest clue about why a particular query has terrible performance with the DBMS they're using and probably know nothing about using its performance analysis tools or why a poorly designed schema's performance can be OK with test data but crash through the floor when faced with production data volumes. > I've been hired again and again and again for languages that I didn't > know until I started the job. > I've lost count of the projects I've done on that basis and the essential skills for the project that I've picked up on the job. -- martin@ | Martin Gregorie gregorie. | Essex, UK org |