From owner-freebsd-questions@freebsd.org Fri Jul 1 19:39:01 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 DB3E3B8F395 for ; Fri, 1 Jul 2016 19:39:01 +0000 (UTC) (envelope-from drosih@rpi.edu) Received: from smtp10.server.rpi.edu (smtp10.server.rpi.edu [128.113.2.230]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "canit.localdomain", Issuer "canit.localdomain" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id B1A322654 for ; Fri, 1 Jul 2016 19:39:00 +0000 (UTC) (envelope-from drosih@rpi.edu) Received: from smtp-auth3.server.rpi.edu (route.canit.rpi.edu [128.113.2.233]) by smtp10.server.rpi.edu (8.14.4/8.14.4/Debian-8) with ESMTP id u61JTKFl030680 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 1 Jul 2016 15:29:20 -0400 Received: from smtp-auth3.server.rpi.edu (localhost [127.0.0.1]) by smtp-auth3.server.rpi.edu (Postfix) with ESMTP id 7CF5158119; Fri, 1 Jul 2016 15:29:20 -0400 (EDT) Received: from [128.113.24.47] (gilead-qc124.netel.rpi.edu [128.113.124.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: drosih) by smtp-auth3.server.rpi.edu (Postfix) with ESMTPSA id 64C2258115; Fri, 1 Jul 2016 15:29:20 -0400 (EDT) From: "Garance A Drosehn" To: Allen Cc: freebsd-questions@freebsd.org Subject: Re: "Simple" Languages in FreeBSD Date: Fri, 01 Jul 2016 15:29:20 -0400 Message-ID: In-Reply-To: <20160701142250.2588c637@KoggyBSD.org> References: <20160630175243.063e07a7@KoggyBSD.org> <20160701142250.2588c637@KoggyBSD.org> MIME-Version: 1.0 X-Mailer: MailMate (1.9.4r5234) X-Virus-Scanned: ClamAV using ClamSMTP X-Bayes-Prob: 0.0001 (Score 0, tokens from: outgoing, @@RPTN) X-Spam-Score: 0.00 () [Hold at 10.10] X-CanIt-Incident-Id: 03Rdvtk3k X-CanIt-Geo: ip=128.113.124.17; country=US; region=New York; city=Troy; latitude=42.7495; longitude=-73.5951; http://maps.google.com/maps?q=42.7495,-73.5951&z=6 X-CanItPRO-Stream: outgoing X-Canit-Stats-ID: Bayes signature not available X-Scanned-By: CanIt (www . roaringpenguin . com) on 128.113.2.230 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: Fri, 01 Jul 2016 19:39:01 -0000 On 1 Jul 2016, at 14:22, Allen wrote: > > Before I respond too much, I wanted to say thanks to everyone that took > the time to reply, again, thank you. Any input is appreciated. > > OK, the reason I'm thinking now is a better time, quite simply, I'm 33 > years old now, and I've wanted to learn Coding in some way for a very > long time, and before recently, I really Honestly think that a part of > the reason I never learned, is that all through school, I always did > terrible in Math. I've programmed in many languages over the years. I think any one of Perl, Python or Ruby would be fine. The main issue would be your introduction to whatever language you pick. In the case of Ruby, this book might be of interest: https://pragprog.com/book/ltp2/learn-to-program I'm sure there are similarly good introduction books which are based on the other two languages. I work more with Ruby (and Crystal) than the other two, so I tend to know more about Ruby-related options. Another nice thing is to get used to typing in short code snippets to figure out some detail in the language. In the case of ruby, you'd use the unix command 'irb' (for "interactive Ruby"), and then you can just type in a few lines of ruby to see what the language does with them. With python you can do almost the same thing by simply typing 'python' without any input files, and then typing in commands. (and I expect there are better options that than). AFAIK, perl does not come with one of these interactive coding tools, but certainly they're easy enough to come across, such as this one: http://www.sukria.net/perlconsole.html The generic term for these convenient interactive interfaces is a "REPL", which stays for "Read-Execute-Print-Loop". They can be very helpful when learning a new language. Personally I'm also interested in the new language of Swift, but Swift is still evolving pretty rapidly, so it's probably not a good language to jump into right now. (or at least, not if you're learning to program on FreeBSD. Swift and Swift "playgrounds" would be much more interesting if you were learning to program on macOS!). Others have mentioned 'sh' and 'bash', and certainly I do a lot with both of those. If you do want to write scripts in these shells, you might get some benefit out of: https://www.shellcheck.net This is not a full-fledged REPL, because it doesn't execute any of your shell code. But it does analyze the code to look for comment causes of errors. You can also install the shellcheck command on your own computer if you don't want to go to the web site. It looks like there are web-based REPL's for several languages available at: https://repl.it/languages but I just came across that while googling right now, and have never used any of the REPL's which are there. -- Garance Alistair Drosehn = drosih@rpi.edu Senior Systems Programmer or gad@FreeBSD.org Rensselaer Polytechnic Institute; Troy, NY; USA