From owner-freebsd-questions@freebsd.org Fri Jul 1 16:18:57 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 08FE0B8F291 for ; Fri, 1 Jul 2016 16:18:57 +0000 (UTC) (envelope-from brandon.wandersee@gmail.com) Received: from mail-io0-f193.google.com (mail-io0-f193.google.com [209.85.223.193]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D59E522B3 for ; Fri, 1 Jul 2016 16:18:56 +0000 (UTC) (envelope-from brandon.wandersee@gmail.com) Received: by mail-io0-f193.google.com with SMTP id 100so12028567ioh.1 for ; Fri, 01 Jul 2016 09:18:56 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=gmIAtTBD1KZuVaujhpVyRJa1tkaSNxOvMeS/VIdBTa0=; b=W8NNA6XD8aV35XOgGleCpFc11RfumDhqoNnpO70hd1GrrR40eWc/i2RUr7Yc+hWGl+ Ix2XIBPUpvlzlf2nhL4wAj9mHYvqfCJ11oL/PMoVR/6I2NVGtYeQJh9//k+RbCf1Uljx 8/REfWJuWloDt06qBQdbLlKQ+u1vld9cXTBWrdLhbHGugcGNxEVR8jPwOJvWkRApcBx/ +5wYGkJ8uSCZZnUqYvOqW3AXAqYc2FAfkRRm91cPe5Q1uEN/nUUQEgI0mR547TG1USAX 82P6m6Fuy2RYXid3HFWtq5zlsqXCDWzp453wak4OzLCl2IkEGBPlfwbFQNjbOhOW0e3a vY/w== X-Gm-Message-State: ALyK8tI8MCXBNerVQMC2oOTSkEMTUl/2dsAsUHFsQu3/BT1R0sAVt83amgL/d60mS5OBMw== X-Received: by 10.107.55.214 with SMTP id e205mr20044568ioa.166.1467380931029; Fri, 01 Jul 2016 06:48:51 -0700 (PDT) Received: from WorkBox.Home.gmail.com (97-116-27-223.mpls.qwest.net. [97.116.27.223]) by smtp.gmail.com with ESMTPSA id w78sm2100372ita.3.2016.07.01.06.48.49 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 01 Jul 2016 06:48:49 -0700 (PDT) References: <20160630175243.063e07a7@KoggyBSD.org> User-agent: mu4e 0.9.16; emacs 24.5.1 From: Brandon J. Wandersee To: Allen Cc: freebsd-questions@freebsd.org Subject: Re: "Simple" Languages in FreeBSD In-reply-to: <20160630175243.063e07a7@KoggyBSD.org> Date: Fri, 01 Jul 2016 08:48:50 -0500 Message-ID: <86poqx31vh.fsf@WorkBox.Home> MIME-Version: 1.0 Content-Type: text/plain 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 16:18:57 -0000 Allen writes: > I have the book "Learning Perl" that I bought a while back, and I've > also downloaded a bunch of stuff for Perl, Python, Ruby, and others, so > I'm just curious on basically what Languages anyone here would > recommend. I'll echo what some others have said, and recommend that before you learn any language you should learn about the fundamentals and different paradigms of programming itself: variables, loops, branches, and all that. Most programming language tutorials I've seen assume the reader already has a general understanding of how to string logic together when writing a program. Since *nix is your platform, and you're looking for something "simple," I'd have to recommend starting with Bourne shell scripting.[1] Every Unix/Linux implementation uses shell scripts for common tasks, and shell scripting will both teach you more about how Unix-like operating systems work, and save you from being buried in the low-level, highly abstracted, get-your-hands-really-dirty sorts of tasks other programming languages are suited for. The Bourne shell (/bin/sh) is found on all *nix platforms, and anything written in good old Bourne syntax can be interpreted by any other shell (Bash, ZSH, (T)CSH, Kourne...), so it serves as a good starting point for learning how to write scripts for your shell of choice, and your scripts will work anywhere a Unix shell is available. And since many things in FreeBSD---including all the rc(8) and periodic(8) scripts---are written in Bourne shell, learning that will give you insight into how FreeBSD does some things under the hood, and possibly let you change some of your system's behavior with relative ease and without having to hack the operating system itself. The tutorials at Codecademy can also be a fun way to learn a bit while passing the time.[2] I'm a perpetual novice myself when it comes to programming, so that sort of thing appeals to me. [1]: http://www.grymoire.com/Unix/Sh.html [2]: https://www.codecademy.com/ -- :: Brandon J. Wandersee :: brandon.wandersee@gmail.com :: -------------------------------------------------- :: 'The best design is as little design as possible.' :: --- Dieter Rams ----------------------------------