Hello all

mix & match is just a buzzword.
we need a real example that shows that 10 minutes of shell scripting will save 
half a day of programming.
(no, grep -v is not an example)

as for scripts & Windows
Windows have many scripting capabilities. It is true that we mostly ignore them 
(maybe becase they are complicated)
1. batch files
2. visual basic scrips (if you know how, you can use any dll in the system to 
do a job for you)
3. power shell
4. and of course cygwin

make can be run on windows & even if you create source dependencis, you still 
have to handle the dependency on header files. The problem (almost) does not 
exist in IDE environment (which is the windows way)

Valgrind is an execelt tool (and it helped me a lote) but it is relevant only 
for languages that do not have memory manegment (C, C++, ...). Java programmers 
can laugth all the way to the dedline

Sorry, please think harder and come out with somthing more convincing

Thanks in advanced
Shahar Dag

  ----- Original Message ----- 
  From: Orna Agmon Ben-Yehuda 
  To: Vadim Eisenberg 
  Cc: Haifux ; Shahar Dag 
  Sent: Monday, November 02, 2009 11:55 AM
  Subject: Re: [Haifux] advanced of programming in Linux


  I think the strong point is "The Unix Way", which is a mix and match of 
tools, each good at doing a specific thing, by using shell , pipe and make. 
Linux did not invent "The Unix Way", but like other FOSS, it provides more 
options for the mix and match. Indeed many Unix systems are closed source, and 
the Unix Way works there, too (better than it would work on Windows, I expect). 

  A point specific to Linux and Intel/AMD is valgrind, with which I nowadays 
solve memory issues within seconds of programmer time. Solving similar problems 
before I had Linux took me weeks sometimes (for a code I was not familiar with, 
of tens of thousands of lines), and sometimes I just gave up.


  On Mon, Nov 2, 2009 at 11:16 AM, Vadim Eisenberg <[email protected]> 
wrote:

    I would like to present some points of a devil's advocate (some smart 
students can raise these counterclaims during the lecture) :

    1.       You can run batch files also on Windows (it for sure is less 
convenient than shell scripts on Unix, but it is not impossible)

    2.       You can use Ant instead of makefile (it is also less convenient 
than makefile + shell scripts, but is still possible)

    3.       You can use Perl on Windows

    4.       UNIX remark: I guess all the tools you mention pertain to Unix 
also, so in general you provide points for learning Unix tools, not necessary 
Linux ones. In particular, you probably can use them on cygwin on Windows.



    In general, my suspicion is that anything you can do in Unix, you can do 
also in Windows,  but in a less convenient/less productive way. 



    I hope not to make anybody here angry by providing such heretic remarks.



    Regards,

    Vadim



    From: [email protected] [mailto:[email protected]] On 
Behalf Of Orna Agmon Ben-Yehuda
    Sent: Monday, November 02, 2009 10:51 AM
    To: Shahar Dag
    Cc: Haifux
    Subject: Re: [Haifux] advanced of programming in Linux



    I often see people spending approximately an hour each time, trying to 
understand why their change was not included in the executable. The answer is 
usually - because they forgot to insert the source into the list of sources in 
the makefile. When I show them how to automatically create a list of sources 
and compile them all, with the correct dependencies, the problem is forever 
solved.

    I use a makefile to build Haifux's site automatically in two languages, 
while compiling lists of lectures in different pages.

    I use make to properly build latex files, including the second pass 
required for bibtex.

    I use make ,diff, head to create automatic tests (regression tests) for 
various programs, compare them automatically with previous results, and produce 
a report of added capabilities, lost capabilities, changes requiring the 
attention of a professional.

    I use make and perl to create parametric sweep runs (batch runs with 
different input parameters in each run). I specifically use here the inherent 
quality of make, to work according to the date of targets, so that if the 
parametric sweep was disturbed in the middle, only runs older than the 
executable and input file are re-run.

    2009/11/1 Shahar Dag <[email protected]>

    Hello



    To extent Elli's question:

    We try to convince our students that programming on Linux is easier / 
faster relative to Windows, so they better learn how to work with Linux.



    We claim that using the build in shell commands and pipes we can compose a 
solution for complex problem (almost) without programming.



    Can you point us for real life examples that prove our claims? 



    Thanks in advanced

    Shahar Dag
    System & Software Development Laboratory (SSDL)
    Computer Science Department
    Technion - Israel Institute of Technology
    Haifa, Israel
    Tel. 972-4-829-4880
    Fax 972-4-829-4878


    _______________________________________________
    Haifux mailing list
    [email protected]
    http://hamakor.org.il/cgi-bin/mailman/listinfo/haifux







------------------------------------------------------------------------------


  _______________________________________________
  Haifux mailing list
  [email protected]
  http://hamakor.org.il/cgi-bin/mailman/listinfo/haifux
_______________________________________________
Haifux mailing list
[email protected]
http://hamakor.org.il/cgi-bin/mailman/listinfo/haifux

Reply via email to