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