[ale] [90dw-lcthw] C as a second language
djpfulio at jdpfu.com
Fri Nov 27 16:36:51 EST 2015
And that was the common advice from 1960-1995.
Since then, we've learned that students don't stick with languages long enough
if there isn't nearly immediate feedback and the ability to create useful programs.
Python provides those things, while forcing reasonable coding style. Plus the
complexities of compilers, makefiles, linking, system debuggers can all be
avoided for the casual python person, while still providing most of the
background to be more successful at C.
I started with
* TRS-DOS BASIC
* FORTRAN 66
* FORTRAN 77
* a few engineering, functional languages MATLAB, Tk Solver, MathCAD, ...
* then about 20 languages nobody here has heard of .... plus IBM 360 ASM
* then C, C++, Borne Shell, cshell, perl, python, Ruby, and I'm working on Perl6
now. Did C/C++ on about 12 different platforms, if that helps.
I can help with C stuff too, but my knowledge is highly dated from the late
1990s. I was high-intermediate level of skill with C++. The C standards have
changed in a way that my knowledge might not be useful. For C++, the Std-Lib
changed everything. I thought everyone had switched from gmake to cmake about a
decade ago. That's too bad, because I was REALLY GOOD at gmake, including
automatic dependency stuff.
Oh ... and foswiki has to wait. Got a laptop replacement keyboard today that
REALLY needs to be installed. Have to disassemble the entire C720 to access the
keyboard part and I'd rather not brick the machine.
On 11/27/2015 02:57 PM, Justin Goldberg wrote:
> I remember perusing the different "x as a first language" search results a
> while ago, circa 2003?, and came across a book that made a lot of sense. It
> was called assembly as a first language. It made the point that a future
> programmers first language should be closest to the bare metal, exposing
> the way a computer actually functions earlier. As opposed to other
> languages which abstract away the bare metal. Although the C language is
> supposed to be closer to the bare metal than most languages.
> It's was available for free online, at least back then.
> On Nov 27, 2015 2:08 PM, "Paul Cartwright" <pbcartwright at gmail.com> wrote:
>> I just installed pascal... See free pascal.org .waaaay back in my Atari
>> st days I ran Alice pascal.. Then I took C during my AT&T days on a real
>> UNIX computer..
>> Sent from my iPad
>>> On Nov 27, 2015, at 12:14 PM, DJ-Pfulio <DJPfulio at jdpfu.com> wrote:
>>> C is best learned after an interpreted language teaches basic
>>> programming skills, IMHO. Python is a good first language. No need to
>>> be a python expert, just functions, i/o, layout, version control, and
>>> TDD to start. All of that translates easily to C.
>>> C is a jumping off point for all compiled languages - like C++, C#,
>>> Java, .... Dart. Learning C teaches the language that most other
>>> languages were built from originally. C memory management is critical to
>>> understand. All languages basically use it under the covers. Learning
>>> function pointers would be helpful to understanding how OO works under
>>> the covers.
>>> Lots to know.
>>>> On 11/27/2015 11:35 AM, leam hall wrote:
>>>> Also, something from the book. Zed recommends knowing another
>>>> programming language before trying to tackle C. For those expressing
>>>> interest, I can say that so far the book seems easy to read and most
>>>> Linux users could get at least as far as I've gotten.
>>>> However, if we're starting in Jan, then you have a month to play with
>>>> Python, Ruby, or similar to get your programming feet wet. :)
More information about the Ale