Thu Nov 21 23:32:49 2024
EVENTS
 FREE
SOFTWARE
INSTITUTE

POLITICS
JOBS
MEMBERS'
CORNER

MAILING
LIST

NYLXS Mailing Lists and Archives
NYLXS Members have a lot to say and share but we don't keep many secrets. Join the Hangout Mailing List and say your peice.

DATE 2008-06-01

HANGOUT

2024-11-21 | 2024-10-21 | 2024-09-21 | 2024-08-21 | 2024-07-21 | 2024-06-21 | 2024-05-21 | 2024-04-21 | 2024-03-21 | 2024-02-21 | 2024-01-21 | 2023-12-21 | 2023-11-21 | 2023-10-21 | 2023-09-21 | 2023-08-21 | 2023-07-21 | 2023-06-21 | 2023-05-21 | 2023-04-21 | 2023-03-21 | 2023-02-21 | 2023-01-21 | 2022-12-21 | 2022-11-21 | 2022-10-21 | 2022-09-21 | 2022-08-21 | 2022-07-21 | 2022-06-21 | 2022-05-21 | 2022-04-21 | 2022-03-21 | 2022-02-21 | 2022-01-21 | 2021-12-21 | 2021-11-21 | 2021-10-21 | 2021-09-21 | 2021-08-21 | 2021-07-21 | 2021-06-21 | 2021-05-21 | 2021-04-21 | 2021-03-21 | 2021-02-21 | 2021-01-21 | 2020-12-21 | 2020-11-21 | 2020-10-21 | 2020-09-21 | 2020-08-21 | 2020-07-21 | 2020-06-21 | 2020-05-21 | 2020-04-21 | 2020-03-21 | 2020-02-21 | 2020-01-21 | 2019-12-21 | 2019-11-21 | 2019-10-21 | 2019-09-21 | 2019-08-21 | 2019-07-21 | 2019-06-21 | 2019-05-21 | 2019-04-21 | 2019-03-21 | 2019-02-21 | 2019-01-21 | 2018-12-21 | 2018-11-21 | 2018-10-21 | 2018-09-21 | 2018-08-21 | 2018-07-21 | 2018-06-21 | 2018-05-21 | 2018-04-21 | 2018-03-21 | 2018-02-21 | 2018-01-21 | 2017-12-21 | 2017-11-21 | 2017-10-21 | 2017-09-21 | 2017-08-21 | 2017-07-21 | 2017-06-21 | 2017-05-21 | 2017-04-21 | 2017-03-21 | 2017-02-21 | 2017-01-21 | 2016-12-21 | 2016-11-21 | 2016-10-21 | 2016-09-21 | 2016-08-21 | 2016-07-21 | 2016-06-21 | 2016-05-21 | 2016-04-21 | 2016-03-21 | 2016-02-21 | 2016-01-21 | 2015-12-21 | 2015-11-21 | 2015-10-21 | 2015-09-21 | 2015-08-21 | 2015-07-21 | 2015-06-21 | 2015-05-21 | 2015-04-21 | 2015-03-21 | 2015-02-21 | 2015-01-21 | 2014-12-21 | 2014-11-21 | 2014-10-21 | 2014-09-21 | 2014-08-21 | 2014-07-21 | 2014-06-21 | 2014-05-21 | 2014-04-21 | 2014-03-21 | 2014-02-21 | 2014-01-21 | 2013-12-21 | 2013-11-21 | 2013-10-21 | 2013-09-21 | 2013-08-21 | 2013-07-21 | 2013-06-21 | 2013-05-21 | 2013-04-21 | 2013-03-21 | 2013-02-21 | 2013-01-21 | 2012-12-21 | 2012-11-21 | 2012-10-21 | 2012-09-21 | 2012-08-21 | 2012-07-21 | 2012-06-21 | 2012-05-21 | 2012-04-21 | 2012-03-21 | 2012-02-21 | 2012-01-21 | 2011-12-21 | 2011-11-21 | 2011-10-21 | 2011-09-21 | 2011-08-21 | 2011-07-21 | 2011-06-21 | 2011-05-21 | 2011-04-21 | 2011-03-21 | 2011-02-21 | 2011-01-21 | 2010-12-21 | 2010-11-21 | 2010-10-21 | 2010-09-21 | 2010-08-21 | 2010-07-21 | 2010-06-21 | 2010-05-21 | 2010-04-21 | 2010-03-21 | 2010-02-21 | 2010-01-21 | 2009-12-21 | 2009-11-21 | 2009-10-21 | 2009-09-21 | 2009-08-21 | 2009-07-21 | 2009-06-21 | 2009-05-21 | 2009-04-21 | 2009-03-21 | 2009-02-21 | 2009-01-21 | 2008-12-21 | 2008-11-21 | 2008-10-21 | 2008-09-21 | 2008-08-21 | 2008-07-21 | 2008-06-21 | 2008-05-21 | 2008-04-21 | 2008-03-21 | 2008-02-21 | 2008-01-21 | 2007-12-21 | 2007-11-21 | 2007-10-21 | 2007-09-21 | 2007-08-21 | 2007-07-21 | 2007-06-21 | 2007-05-21 | 2007-04-21 | 2007-03-21 | 2007-02-21 | 2007-01-21 | 2006-12-21 | 2006-11-21 | 2006-10-21 | 2006-09-21 | 2006-08-21 | 2006-07-21 | 2006-06-21 | 2006-05-21 | 2006-04-21 | 2006-03-21 | 2006-02-21 | 2006-01-21 | 2005-12-21 | 2005-11-21 | 2005-10-21 | 2005-09-21 | 2005-08-21 | 2005-07-21 | 2005-06-21 | 2005-05-21 | 2005-04-21 | 2005-03-21 | 2005-02-21 | 2005-01-21 | 2004-12-21 | 2004-11-21 | 2004-10-21 | 2004-09-21 | 2004-08-21 | 2004-07-21 | 2004-06-21 | 2004-05-21 | 2004-04-21 | 2004-03-21 | 2004-02-21 | 2004-01-21 | 2003-12-21 | 2003-11-21 | 2003-10-21 | 2003-09-21 | 2003-08-21 | 2003-07-21 | 2003-06-21 | 2003-05-21 | 2003-04-21 | 2003-03-21 | 2003-02-21 | 2003-01-21 | 2002-12-21 | 2002-11-21 | 2002-10-21 | 2002-09-21 | 2002-08-21 | 2002-07-21 | 2002-06-21 | 2002-05-21 | 2002-04-21 | 2002-03-21 | 2002-02-21 | 2002-01-21 | 2001-12-21 | 2001-11-21 | 2001-10-21 | 2001-09-21 | 2001-08-21 | 2001-07-21 | 2001-06-21 | 2001-05-21 | 2001-04-21 | 2001-03-21 | 2001-02-21 | 2001-01-21 | 2000-12-21 | 2000-11-21 | 2000-10-21 | 2000-09-21 | 2000-08-21 | 2000-07-21 | 2000-06-21 | 2000-05-21 | 2000-04-21 | 2000-03-21 | 2000-02-21 | 2000-01-21 | 1999-12-21

Key: Value:

Key: Value:

MESSAGE
DATE 2008-06-29
FROM email
SUBJECT Re: [NYLXS - HANGOUT] C Programing Workshop
any thoughts on teaching a course on Python?

its way more friendly to new programmers, its quick to use and provides
some instant gratification while forcing good techniques

i know c is the baseline of cs, but, especially in todays webby world,
its a tough first starter when a lot of the 'fun' projects are web stuff

i know linux is c, but the new programmer doesn't even have to compile
any software in linux these days. wasn't always so.

plus python has lots of c extension modules providing a warm entry to
static coding once understanding and skills are honed a bit

just a thought if you're looking to introduce new people to programming

Ronny Abraham wrote:
> If you're going to teach a class, I think it's important to also go
> into makefiles. Personally, I hate makefiles and prefer to use scons
> (it's python based and a hell of a lot simpler). Nevertheless, you
> need to know how makefiles work if you want to do anything usefull
> with the majority of projects out there. I would sign up for a class
> if you intend to explore that aspect.
>
> Also, if you are going to go into C++, it's better to stick with Bruce
> Eckels book Thinking
> in C++
It's downloadable and free (as in beer), so there is no
> reason not to use it. It's also the best book you are ever going to
> find on the language.
>
> He has a second volume covering the Standard Template Library, but
> unfortunately I never found the time to go through it.
>
> The thing that makes Eckel stand out is that he explains why things
> are done in a certain way. And since he was on the standards board
> for 10 years, he also has no problem being open about what is wrong
> with the language.
>
> -ron
>
> On Sat, Jun 28, 2008 at 10:04 PM, Ruben Safir wrote:
>> The C programming language was invented side by side with Unix. The King text goes through
>> much of the history of the language. Here I'd like to make a few points both in the general
>> and specific to GNU/Linux as a platform for C development.
>>
>> Oxymoronic as it sounds C language is a bare bones specification without anything useful.
>> All it requires is the keyword main, which defines the root function that everything else
>> is piled into. Everything that C does is imported from external libraries. These libraries
>> are defined, in the simplist case, on top of your program.
>>
>> For example, on page 10 of the King book is the following program:
>>
>> #include
>>
>> main(){
>> printf("To C, or not to C: that is the question \n");
>> }
>>
>> which was inherited from the K&R text. The first line defines the
>> library stdio.h which c is to import. The main keyword is present
>> (which defines the required function main() to be explained later,
>> and the function printf which is defined in the library stdio.h.
>>
>> Unlike programming languages such as Perl, Python and Rudy, C is a compiled
>> programming language. It needs a compiler to make a binary program that
>> can then be executed. The binary has machine like instructions which your
>> computer can directly understand. Unfortunately, your computer doesn't speak
>> English (or Spanish, Russian, Japanese, Manderin, Hebrew, or Udo). It speaks
>> binary. C is the interface between human language and machine code. The binaries
>> are very low level and C as a language, today, is considered to be very close to
>> the machine. You'd have to write programs in Assembly to get much close to your CPU.
>>
>> Therefor, you need a C compiler to translate your C Programming text into machine code.
>> At one time suc compilers were expensive and hard to get. Thanks to Richard Stallman and
>> friends, today we have compilers on almost every GNU based system. That compiler is called
>> gcc. Compilers do three things: Parse, compile and link.
>>
>> When you call:
>>
>> gcc file.c
>>
>> It loads file.c into the compiler. It then parses the programming you created and checks
>> for errors. It then analysis the symbols in your program and looks for their programming
>> definitions in the libraries that you call with #include. It then the different code
>> machine code peices it finds into a single binary.
>>
>> The gcc compiler is very complex and learning C includes learning much about the compiler
>> and also the debugger, called gdb. Both are documented with man pages, and have full books
>> which are available from the Free Software Foundation and worthy additions to your library.
>> Both are included in the NYLXS library as references.
>>
>> Any editor can be used to make C programs, but I strongly recommend learning either EMACS
>> or VI. EMACS has a GNU version, and VI has a version called VIM which can be downloaded and
>> used. I perfer the VIM editor and will use in in example and demonstrations. No editor
>> wars are needed here. I will say, however, if your using EMACS, then LEARN it. It is not
>> Microsoft Notepad.
>>
>> After editing this first program run the following command on the command line:
>> For this workshop, the "$" or "ruben-at-www2:~/cprog>" is the shell prompt. Your prompt
>> on the NYLXS server will look like the second example.
>>
>>
>> $ gcc -Wall file1.c -o file1
>>
>> the output will look like this:
>> ruben-at-www2:~/cprog> gcc -Wall file1.c -o file1
>> file1.c:3: warning: return type defaults to `int'
>> file1.c: In function `main':
>> file1.c:5: warning: control reaches end of non-void function
>> ruben-at-www2:~/cprog>
>>
>>
>> The compiler gives you 3 warning messages. I won't go into them currently, but in a few
>> weeks it should make sense to you. We will, however, fix the warnings later. For now, if
>> you look at your directory
>>
>> ruben-at-www2:~/cprog> ls -l
>> total 12
>> -rwxr-xr-x 1 ruben staff 7041 2008-06-28 21:45 file1
>> -rw-r--r-- 1 ruben staff 86 2008-06-28 21:35 file1.c
>>
>> file1.c is the file we are editing. You see it has no permisions to be executed.
>> file1 is the new executable we created. In addition. you see that it is executable.
>> gcc makes it executable permisions for us in most systems. We run our new program
>> on the command line like this:
>>
>> ruben-at-www2:~/cprog> ./file1
>> To C, or not to C: that is the question
>>
>> The C language defines the function main() and not much else. However, it is defined
>> as a function that returns an integer. We didn't return anything. We can fix this with
>> a "return function".
>>
>> We return a 0 by convention unless we are trying to indicate an error or other message. We also
>> put the keyword 'int' infront of main which explicitly defines that main returns integers.
>>
>> Our program not looks like this:
>>
>> #include
>>
>> int main(){
>> printf("To C, or not to C: that is the question \n");
>> return 0;
>> }
>>
>> and when we compile:
>>
>> ruben-at-www2:~/cprog> gcc -Wall file2.c -o file2
>> ruben-at-www2:~/cprog>
>>
>> No warnings.
>>
>> and when we run it, it looks like this:
>>
>> ruben-at-www2:~/cprog> ./file2
>> To C, or not to C: that is the question
>> ruben-at-www2:~/cprog>
>>
>>
>>
>> Next - Comments and C varriable basics.
>>
>>
>>
>> --
>> http://www.mrbrklyn.com - Interesting Stuff
>> http://www.nylxs.com - Leadership Development in Free Software
>>
>> So many immigrant groups have swept through our town that Brooklyn, like Atlantis, reaches mythological proportions in the mind of the world - RI Safir 1998
>>
>> http://fairuse.nylxs.com DRM is THEFT - We are the STAKEHOLDERS - RI Safir 2002
>>
>> "Yeah - I write Free Software...so SUE ME"
>>
>> "The tremendous problem we face is that we are becoming sharecroppers to our own cultural heritage -- we need the ability to participate in our own society."
>>
>> "> I'm an engineer. I choose the best tool for the job, politics be damned.<
>> You must be a stupid engineer then, because politcs and technology have been attached at the hip since the 1st dynasty in Ancient Egypt. I guess you missed that one."
>>
>> (c) Copyright for the Digital Millennium
>>
>

  1. 2008-06-03 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] [nyc-at-workatjelly.com: Jelly in Manhattan this Friday, 6/6]
  2. 2008-06-08 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] Empathic Computing
  3. 2008-06-08 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] GMAIL - Free Software Models
  4. 2008-06-08 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] Cellphone DO kill ....
  5. 2008-06-08 Michael L Richardson <mlr52-at-michaellrichardson.com> Re: [NYLXS - HANGOUT] Cellphone DO kill ....
  6. 2008-06-08 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] Bloody Ugly
  7. 2008-06-12 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] [nyc-at-workatjelly.com: Jelly in Brooklyn this Friday, 6/13]
  8. 2008-06-12 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] [notification+zjaayj4y-at-facebookmail.com: "The Rooftop Films Summer Series: June Schedule" sent you a message on Facebook...]
  9. 2008-06-12 From: "armando fonseca" <afonsec2-at-gmail.com> Subject: [NYLXS - HANGOUT] armando fonseca wants to chat
  10. 2008-06-20 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] [KMalhotra-at-council.nyc.gov: Tech in Government Update]
  11. 2008-06-20 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] [meissner-at-suse.de: [security-announce] SUSE Security Announcement: evolution (SUSE-SA:2008:028)]
  12. 2008-06-20 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] [dplist-at-danielpipes.org: #862: Pipes argues "The Enemy Has a Name" in the Jer. Post]
  13. 2008-06-20 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] [meissner-at-suse.de: [security-announce] SUSE Security Summary Report SUSE-SR:2008:013]
  14. 2008-06-20 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] [meissner-at-suse.de: [security-announce] SUSE Security Announcement: Opera 9.50 (SUSE-SA:2008:029)]
  15. 2008-06-20 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] [chief-at-freesoftwaremagazine.com: [Fsm_newsletter] Free Software Magazine newsletter]
  16. 2008-06-20 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] [anthony.weiner-at-congressnewsletter.net: Reminder - Town Hall with Rep. Weiner]
  17. 2008-06-20 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] Geek Dinosaur News
  18. 2008-06-20 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] More Geek stuff - 2000 year old Jew Tree's
  19. 2008-06-21 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] AP Copyright and Bloggers
  20. 2008-06-21 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] Diamonds are a girls best friend
  21. 2008-06-22 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] [jays-at-panix.com: [nylug-talk] Sunday 22 June 2008 NYC Resistors: OLPC Hack Day]
  22. 2008-06-22 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] Tea Lounge
  23. 2008-06-22 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] Next NYLXS Meeting
  24. 2008-06-22 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] [ruben-at-mrbrklyn.com: [nylug-talk] Internships for Teens?]
  25. 2008-06-22 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] OLPC MS Spin
  26. 2008-06-23 From: "Michael L. Richardson" <mlr52-at-mycouponmagic.com> Re: [NYLXS - HANGOUT] Next NYLXS Meeting
  27. 2008-06-23 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] [catch152-at-gmail.com: Re; Signing up.]
  28. 2008-06-23 Amy Coleman <acoleman-at-mrbrklyn.com> Re: [NYLXS - HANGOUT] Next NYLXS Meeting
  29. 2008-06-23 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] Some Brooklyn History with Photo's! Worth a look.
  30. 2008-06-24 Ron Guerin <ron-at-vnetworx.net> Re: [NYLXS - HANGOUT] Tea Lounge
  31. 2008-06-24 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] [nyc-at-workatjelly.com: Jelly in Brooklyn this Friday, 6/27]
  32. 2008-06-24 Ruben Safir <ruben-at-mrbrklyn.com> Re: [NYLXS - HANGOUT] Tea Lounge
  33. 2008-06-24 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] [Consultants1-at-cgt-consult.com: Open Jobs]
  34. 2008-06-24 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] Data Recovery Tools
  35. 2008-06-26 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] News not getting enough press
  36. 2008-06-28 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] Video Production
  37. 2008-06-28 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] The new DMCA
  38. 2008-06-28 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] On Line C, Perl and C++ Programming Work Shop
  39. 2008-06-28 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] C Programing Workshop
  40. 2008-06-29 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] [ivaldes-at-hal-pc.org: [Hardhats] Congress Health IT Bill and Cerner Lobbying]y
  41. 2008-06-29 From: "Ronny Abraham" <ronny.coder-at-gmail.com> Re: [NYLXS - HANGOUT] C Programing Workshop
  42. 2008-06-29 Ruben Safir <ruben-at-mrbrklyn.com> Re: [NYLXS - HANGOUT] C Programing Workshop
  43. 2008-06-29 From: "Ronny Abraham" <ronny.coder-at-gmail.com> Re: [NYLXS - HANGOUT] C Programing Workshop
  44. 2008-06-29 Ruben Safir <ruben-at-mrbrklyn.com> Re: [NYLXS - HANGOUT] C Programing Workshop
  45. 2008-06-29 From: "Michael L. Richardson" <mlr52-at-michaellrichardson.com> Re: [NYLXS - HANGOUT] Video Production
  46. 2008-06-29 email <ray-pub-at-rcn.com> Re: [NYLXS - HANGOUT] C Programing Workshop
  47. 2008-06-29 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [NYLXS - HANGOUT] C++ Workshop session 1
  48. 2008-06-30 From: "Ronny Abraham" <ronny.coder-at-gmail.com> Re: [NYLXS - HANGOUT] C Programing Workshop
  49. 2008-06-30 Ruben Safir <ruben-at-mrbrklyn.com> Re: [NYLXS - HANGOUT] C Programing Workshop
  50. 2008-06-30 swd <sderrick-at-optonline.net> Subject: [NYLXS - HANGOUT] Need to get rid of a whole bunch of programming books. TALK ABOUT FREE
  51. 2008-06-30 Ruben Safir <ruben-at-mrbrklyn.com> Re: [NYLXS - HANGOUT] Need to get rid of a whole bunch of programming books. TALK ABOUT FREE SOFTWARE!!!
  52. 2008-06-30 From: "Tameek Henderson" <tameek-at-gmail.com> Re: [NYLXS - HANGOUT] Need to get rid of a whole bunch of programming books. TALK ABOUT FREE SOFTWARE!!!
  53. 2008-06-30 Ruben Safir <ruben-at-mrbrklyn.com> Re: [NYLXS - HANGOUT] Need to get rid of a whole bunch of programming books. TALK ABOUT FREE SOFTWARE!!!

NYLXS are Do'ers and the first step of Doing is Joining! Join NYLXS and make a difference in your community today!