<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:120729374;
        mso-list-type:hybrid;
        mso-list-template-ids:1681161292 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>I would like to present some points of a devil's advocate (some
smart students can raise these counterclaims during the lecture) :<o:p></o:p></span></p>

<p class=MsoListParagraph style='text-indent:-18.0pt;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><span
style='mso-list:Ignore'>1.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span dir=LTR></span><span style='font-size:
11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>You can run batch
files also on Windows (it for sure is less convenient than shell scripts on Unix,
but it is not impossible)<o:p></o:p></span></p>

<p class=MsoListParagraph style='text-indent:-18.0pt;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><span
style='mso-list:Ignore'>2.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span dir=LTR></span><span style='font-size:
11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>You can use Ant
instead of makefile (it is also less convenient than makefile + shell scripts,
but is still possible)<o:p></o:p></span></p>

<p class=MsoListParagraph style='text-indent:-18.0pt;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><span
style='mso-list:Ignore'>3.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span dir=LTR></span><span style='font-size:
11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>You can use Perl on
Windows<o:p></o:p></span></p>

<p class=MsoListParagraph style='text-indent:-18.0pt;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><span
style='mso-list:Ignore'>4.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span dir=LTR></span><span style='font-size:
11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>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.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>In general, my suspicion is that anything you can do in Unix,
you can do also in Windows, &nbsp;but in a less convenient/less productive way.
<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>I hope not to make anybody here angry by providing such heretic remarks.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Regards,<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Vadim<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div style='border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt'>

<div>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
haifux-bounces@haifux.org [mailto:haifux-bounces@haifux.org] <b>On Behalf Of </b>Orna
Agmon Ben-Yehuda<br>
<b>Sent:</b> Monday, November 02, 2009 10:51 AM<br>
<b>To:</b> Shahar Dag<br>
<b>Cc:</b> Haifux<br>
<b>Subject:</b> Re: [Haifux] advanced of programming in Linux<o:p></o:p></span></p>

</div>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<div>

<p class=MsoNormal style='margin-bottom:12.0pt'>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.<br>
<br>
I use a makefile to build Haifux's site automatically in two languages, while
compiling lists of lectures in different pages.<br>
<br>
I use make to properly build latex files, including the second pass required
for bibtex.<br>
<br>
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.<br>
<br>
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.<o:p></o:p></p>

<div>

<p class=MsoNormal>2009/11/1 Shahar Dag &lt;<a
href="mailto:dag@cs.technion.ac.il">dag@cs.technion.ac.il</a>&gt;<o:p></o:p></p>

<div>

<div>

<p class=MsoNormal><span style='font-family:"Arial","sans-serif"'>Hello</span><o:p></o:p></p>

<p class=MsoNormal>&nbsp;<o:p></o:p></p>

<p class=MsoNormal><span style='font-family:"Arial","sans-serif"'>To extent
Elli's question:</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-family:"Arial","sans-serif"'>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.</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-family:"Arial","sans-serif"'>&nbsp;</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-family:"Arial","sans-serif"'>We claim that
using the build in shell commands and pipes we can compose a solution for
complex problem (almost) without programming.</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-family:"Arial","sans-serif"'>&nbsp;</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-family:"Arial","sans-serif"'>Can you point
us for real life examples that prove our claims? </span><o:p></o:p></p>

<p class=MsoNormal><span style='font-family:"Arial","sans-serif"'>&nbsp;</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-family:"Arial","sans-serif"'>Thanks in
advanced</span><o:p></o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>Shahar
Dag<br>
System &amp; Software Development Laboratory (SSDL)<br>
Computer Science Department<br>
Technion - Israel Institute of Technology<br>
Haifa, Israel<br>
Tel. 972-4-829-4880<br>
Fax 972-4-829-4878</span><o:p></o:p></p>

</div>

</div>

<p class=MsoNormal style='margin-bottom:12.0pt'><br>
_______________________________________________<br>
Haifux mailing list<br>
<a href="mailto:Haifux@haifux.org">Haifux@haifux.org</a><br>
<a href="http://hamakor.org.il/cgi-bin/mailman/listinfo/haifux" target="_blank">http://hamakor.org.il/cgi-bin/mailman/listinfo/haifux</a><o:p></o:p></p>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

</div>

</div>

</body>

</html>