From owner-freebsd-questions@freebsd.org Sun Jul 3 21:30:16 2016 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A9C74B908C7 for ; Sun, 3 Jul 2016 21:30:16 +0000 (UTC) (envelope-from dpchrist@holgerdanske.com) Received: from holgerdanske.com (holgerdanske.com [IPv6:2001:470:0:19b::b869:801b]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.he.net", Issuer "GeoTrust SSL CA - G4" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 8F3A721EA for ; Sun, 3 Jul 2016 21:30:16 +0000 (UTC) (envelope-from dpchrist@holgerdanske.com) Received: from ::ffff:99.100.19.101 ([99.100.19.101]) by holgerdanske.com for ; Sun, 3 Jul 2016 14:30:10 -0700 Subject: Re: "Simple" Languages in FreeBSD - UPDATE To: freebsd-questions@freebsd.org References: <20160703162634.5197b374@KoggyBSD.org> From: David Christensen Message-ID: <42e04e4b-3726-ab4b-e1d8-3ac6013c432c@holgerdanske.com> Date: Sun, 3 Jul 2016 14:30:09 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.1.0 MIME-Version: 1.0 In-Reply-To: <20160703162634.5197b374@KoggyBSD.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jul 2016 21:30:16 -0000 On 07/03/2016 01:26 PM, Allen wrote: > Hi, > > I just wanted to say thank you to everyone who took the time to reply > to my question. It means a lot to me, and I appreciate it. Thank you > everyone! I'm thinking what I'll do, is basically start out with Shell > Scripting, and once I've got that at least understood where I can edit > my boxe's Configuration Files, and not screw it up (Not really scared > of doing that, when I started learning Ruby I messed with every example > in each book I was reading through just to see what would happen, I'm > naturally curious like that ) and once I'm able to understand and write > decent scripts, I'm going to then toy with Perl, Python, and Ruby. > > The reason I'm thinking all three, is that, well, for one, I like that > idea, but also it wouldn't hurt to know 3 different languages, as that > should make learning C a lot easier. My long term goal, is going to be > learning C, and maybe eventually some Assembler, but mainly C. > > I really like what I would be able to do with Perl and Ruby, and > there's also quite a lot Python will do for me personally, so I think > this will be the steps: > > Shell Scripting > Perl/Python/Ruby > C .... Profit! :) > > Thanks again everyone, it was great to see some of the replies and > knowing it wasn't something everyone else got and I didn't in terms of > HOW to learn these things. Other tools that I should have mentioned: 1. A text mode editor that works over SSH. (Another bike shed topic; I use Vim.) 2. A version control system. (Yet another; I use CVS.) I've settled on the following languages/ tools, and think of them in levels of complexity (from highest to lowest): Higher-Order Perl [1] Perl Bourne shell, Make C assembly The lower levels are suited for ROM monitors, interpretors, kernels, device drivers, file systems, communications stacks, shells, editors, lexers, parsers, compilers, interpreters, etc. -- e.g. software that requires maximal efficiency (space, time) and/or must be programmed "close to the hardware". The upper levels reduce complexity, making it easier for human beings to write powerful and sophisticated programs that work correctly. If you learn a little C++, a little Perl, a little Python, a little Ruby, etc., you will never reach the highest levels. Therefore, I'd advising picking one high-level language and mastering it (similar to martial arts or musical instruments). David [1] http://hop.perl.plover.com/