> On Thursday, December 19, 2013 9:46:26 AM UTC+5:30, Roy Smith wrote: > > rusi wrote:
> > > Soon the foo has to split into foo1.c and foo2.c. And suddenly you need > > > to > > > understand: > > > 1. Separate compilation > > > 2. Make (which is separate from 'separate compilation') > > > 3. Header files and libraries and the connection and difference > > It's pretty common here to have people ask questions about how import > > works. How altering sys.path effects import. Why is import not finding > > my module? You quickly get into things like virtualenv, and now you've > > got modules coming from your source tree, from your vitualenv, from your > > system library. You need to understand all of that to make it all work. > Yes agreed. Python is far from stellar in this regard. > Just as distutils got into the core at 2.3(??) now at 3.3 > virtualenv(+pip+wheel) > is getting in. Belated but better late than never. > > None of that is specific to C. Virtually any language (including > > Python) allows a program to be split up into multiple source files. If > > you're running all but the most trivial example, you need to know how to > > manage these multiple files and how the pieces interact. > Thats a strange thing to say. In the abstract every language that > allows for significant programs supports separate units/modules. > Somewhere those units will map onto system entities -- usually though > not always files (think of PL-SQL inside Oracle). > Even assuming files, the lines drawn between interior (to the language) > and exterior (OS-facing) are vastly different. > C, Pascal, Python, Java, SML, APL -- all very different in this regard. Just adding this: Different languages do their modularizing and packaging differently (what I earlier said) in order to achieve different tradeoffs. Here's a thread by a competent programmer who switched from Lisp to C++. https://groups.google.com/forum/#!topic/ledger-cli/Mjky9AvrRKU He clearly says that while he loves Lisp the language, its packaging facilities lost out to C++ and so he rewrote his whole app in C++. -- https://mail.python.org/mailman/listinfo/python-list