From owner-freebsd-chat Mon Mar 12 8:15:15 2001 Delivered-To: freebsd-chat@freebsd.org Received: from jasper.nighttide.net (jasper.nighttide.net [209.222.117.162]) by hub.freebsd.org (Postfix) with ESMTP id E585D37B719 for ; Mon, 12 Mar 2001 08:15:09 -0800 (PST) (envelope-from darren@nighttide.net) Received: from localhost (darren@localhost) by jasper.nighttide.net (8.11.2/8.11.1) with ESMTP id f2BK6LV23277 for ; Sun, 11 Mar 2001 15:06:21 -0500 (EST) (envelope-from darren@nighttide.net) Date: Sun, 11 Mar 2001 15:06:21 -0500 (EST) From: Darren Henderson To: Subject: Re: Looking for Yoda In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-chat@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org One of the common misconceptions I've seen from non-programmers is that "knowing" a language is the same as knowing how to program. Its exactly backwards. Once you know how to program, are comfortable with algorithms, problem solving, breaking projects down to their constituant parts, know about basic efficiencies, know a little about things like queing theory etc etc, you are on your way. Knowing how to solve a problem is the first step, picking what tools to use (ie what language to use) to implement the solution is almost incidental. You pick the language that will allow you to accomplish the task most easily or if different criteria are in play then you pick the tool that meets those criteria. When you know how to program and you know the syntax for one language, learning how to use others is no big deal. You may not work as fast in PL/I as you do in C, but if you know C, (or pascal or even cobol) and have a good grounding in computer science then you can program in PL/I. You may do it with the manual open continuously the first few times but you can do it. That said, and as has been mentioned, the first language you learn is more about developing good habits as it is anything else. Some languages enforce good habits (or at least what is fashionable at the time) while others let you do what you want. C, C++, perl, are not great first languages from that perspective while Pascal is actually pretty good if perhaps a bit old school at this point. Learning the 10th language is pretty meaningless. When I started, the first languages I learned were assembler type languages for the Motorola 6800 and the IBM 360, and pascal. While I think pascal and maybe python now days would make a good first language, everyone should do a bit with assembler just so they understand the underlying nature of what they are doing with the higher level languages. People who want to be able to say they know umpteen languages are kind of missing the point imo. Someone who has a solid lock on theory and is comfortable with a couple of languages is far more valuable then someone who has done something in 30 languages (and thus claims they "know" each one) but has little clue about how problems are solved. Concentrait on the computer science. The programming languages take care of themselves. ______________________________________________________________________ Darren Henderson darren@nighttide.net Help fight junk e-mail, visit http://www.cauce.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-chat" in the body of the message