From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Thu, 2 Aug 2001 11:45:20 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Thu, 2 Aug 2001 11:45:10 -0400 Received: from mueller.uncooperative.org ([216.254.102.19]:39690 "EHLO mueller.datastacks.com") by vger.kernel.org with ESMTP id ; Thu, 2 Aug 2001 11:45:02 -0400 Date: Thu, 2 Aug 2001 11:45:07 -0400 From: Crutcher Dunnavant To: linux-kernel list Subject: Re: university studies? Message-ID: <20010802114507.A11764@mueller.datastacks.com> Mail-Followup-To: linux-kernel list In-Reply-To: <3B693B46.585CC416@bilten.metu.edu.tr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3B693B46.585CC416@bilten.metu.edu.tr>; from muzaffer.ozakca@bilten.metu.edu.tr on Thu, Aug 02, 2001 at 02:36:38PM +0300 Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org ++ 02/08/01 14:36 +0300 - Muzaffer Ozakca: > > I don't think, one should learn all the "hot" languages of the day to > become a good programmer. A computer science student should (and will) > learn the theoretical background that lays beneath. Data structures, > graph theory, computational linguistics, compiler theory, OS, AI, so on. Hmm. Thank you, Knuth. > Practical studies such as programming projects will let the students > solid the theory. These thoughts are not actually mine, most of the > computer science departments -more or less- follow a cirriculum > appreciating these ideas, I think. However, a kernel (or systems) > programmer should also know basics of microprocessors, interrupts, etc. > and programming in assembly, besides the theory given in a university. They also need to understand large parts of security, and system API design. > After getting the theory and completing the understanding by practice, > learning a programming language is just a detail. I disagree. This is equivalent to saying, once I am an archetect, it is easy for me to build houses. Tools and practices take incredible amounts of time to master. Languages take years, and learning the non-algorithmic parts of hacking, like techniques for keeping namespaces clean, or designing APIs to be extensible, or just tracking code; all these are time devouring. > Always solving problems "C" style, may not be the best approach, > a functional language may better suit the needs -usually not in our course. But, ultimately, computers are procedural. FP helps /prove/ algorithms, but it is a terible way to actually run them. -- Crutcher GCS d--- s+:>+:- a-- C++++$ UL++++$ L+++$>++++ !E PS+++ PE Y+ PGP+>++++ R-(+++) !tv(+++) b+(++++) G+ e>++++ h+>++ r* y+>*$