Linked by Eugenia Loli on Tue 15th Apr 2003 17:14 UTC
Original OSNews Interviews A few days ago we featured an interview with one of Fink's project leaders regarding their package management solution which breeds more Unix software to MacOSX. Today, we host an interview with Jordan Hubbard regarding the DarwinPorts, speaking for the DarwinPorts Team which a similar effort to bring more Unix software on Mac OS X. Jordan is currently working at Apple and OpenDarwin (while many will know Jordan as the FreeBSD co-founder).
Order by: Score:
10.3 based on FreeBSD 5.x ???
by HufflePuff on Tue 15th Apr 2003 17:27 UTC

Does this little statement mean that OS X 10.3 is based on FreeBSD 5.x ??

RE: 10.3 based on FreeBSD 5.x ???
by Eugenia on Tue 15th Apr 2003 17:32 UTC

*Based* in its entirely no. But added source code from FreeBSD 5.x, advancements etc., sure. Why not?

try BSD Mall
by Ben Huot on Tue 15th Apr 2003 17:45 UTC

You can also get BSD ports in an easy to install package on cd-rom from BSD Mall. It is called UNIX Utilities for OS X. I bought it at my local Mac store and will install it when my eMac arrives from MacMall in a couple of days. If anyone is interested I can give a review. I am a graphic designer so I would review applications relevant to me. I have used Open Source ports on Windows and Linux, so I could compare performance and ease of installation, etc.

Tcl
by anon on Tue 15th Apr 2003 18:33 UTC

Looks like the choice of Tcl (over, say Python) is worth questioning. RMS believed it was a limited language and a bad foundation:
http://www.vanderburg.org/Tcl/war/0000.html

Maybe Tcl has caught up and become stronger, or it might be good for this domain. But I wonder if systems coders just make bad choices when building applications. For example, Hubbard's criticism of Python is weird; I've never known anyone to have problems with whitespace. Can anyone maintain code where the indentation isn't aligned?

The rest of what he says is fine; no doubt Tcl has a longer history being embedded in apps, and he says it really was a subjective choice. I just wonder if systems guys have a blindspot.

anon
by RJW on Tue 15th Apr 2003 18:43 UTC

Why do you care what RMS says? He even later recanted his initial criticisms, but the damage was already done. The reason for including Tcl is likely because it's designed to be embedded in applications; Python is not. Tcl is simple. You don't need bells and whistles for something like this. End users need never see the language that's being used, so does it really make a big difference?

reL TCL
by debman on Tue 15th Apr 2003 19:00 UTC

I to am befuddled.

Python while it does impose strick controls on how you get stuff done is a great language..it is easy to learn, easy to read, easy to manage, and powerful. and since it used TK or realy any widget set you liek there is no reason not to use it over tcl.

I guess JH is just one of those hackers who like to have the ability to make the code look the way they like even if they do use good formating practices.

re :anaon ::pythons ability to embed in a program
by debman on Tue 15th Apr 2003 19:04 UTC

AFAIK, you can. infact I know python provides a c lib(and I think it is usable in C++ or they have a lib for C++) that calls the python interpreter and runs the code in the braces.

now, I have never used tcl but unless gcc can compile tcl code along with the c code around it, I don't see how else you can embed the language.

re: embedding Tcl
by Jordan Hubbard on Tue 15th Apr 2003 19:12 UTC

I certainly never said that Python could not be embedded in other applications, I simply like Tcl's C/C++ API for doing so quite a bit. It's simple, powerful and gives you ample capability for calling into C to Tcl and vice-versa with full access to variables, trace-points and all the other features of the language.

If you also read the DarwinPorts FAQ at http://www.opendarwin.org/projects/darwinports/en/faq.php you'll see that we were also shooting for a simple key/value pair syntax in the Portfiles so that end-users wouldn't even have to know that they were dealing with an interpreted language. Tcl's simplicity made that possible, which is largely what I was referring to when I talked about whitespace and style.

.
by weeman on Tue 15th Apr 2003 19:17 UTC

Regarding embedding Python in applications. The MMO game EVE uses python for it's ingame scripting and partially also GUI.

RE Debman
by Iconoclast on Tue 15th Apr 2003 19:25 UTC

Well, Jordan has provided us with an answer. Please correct me if I'm wrong, but it seems TCL was in part due to preference (as Debman suggested). I can't blame anybody for using what they like. Isn't it great to have the freedom to choose? I think so.

I did want to comment on this part of Debman's post though:
Python while it does impose strick controls on how you get stuff done is a great language..it is easy to learn, easy to read, easy to manage, and powerful. and since it used TK or realy any widget set you liek there is no reason not to use it over tcl.

I agree. Python is a great language. At first I hated the way it made you indent the body of functions, classes, loops, etc. However, after working on a project with other programmers using Python, I found this feature of the language very handy. It forced everybody to write code that was ledgible and easier to maintain.

I do disagree with the TKinter comment though. TKinter is a good reason NOT to use Python in my opinion. ;) Fortunately, there are other graphics frameworks, such as my personal favorite wxPython, which make Python really really cool for programming GUIs. In fact, wxPython provides me with what I always wanted out of Java, but never quite got.

Great!
by Jay on Tue 15th Apr 2003 19:31 UTC

Very interesting interview! Way to go Eugenia and thanks to JH!

Tcl
by anon on Tue 15th Apr 2003 20:03 UTC

Thanks for making that clearer!

To make my post clear for RJW, quoting Stallman was done because he wrote Emacs, noted for its extension language, and so I'm inclined to think he has interesting views on this topic. His argument was that longterm needs need to balance with shortterm goals, because often it happens your software grows faster than your foundation lets it.

If he did recant his criticism, I'm not having much luck finding it; but I wouldn't be surprised if he did.

Mainly the whitespace criticism sounded like everyone else's whitespace criticism. ;) You hear it so often, it's surprising when there's a good usability argument in there.

re: TCL
by j on Tue 15th Apr 2003 20:06 UTC

Looks like the choice of Tcl (over, say Python) is worth questioning. RMS believed it was a limited language and a bad foundation:

It's hard to weigh the pros and cons of a language across all applications. There are opponents to every language that I have ever heard of. Try TCL yourself, if you like it fine, if not thatís ok to.

Anyone play with it yet?
by Anonymous - Bert on Tue 15th Apr 2003 20:51 UTC

How is it? How does it compare to Fink? How well do the 2 co-exist?

Thanks!

DarwinPorts and Fink
by Chris on Tue 15th Apr 2003 21:10 UTC

I am a developer for DarwinPorts (Go consolle Othello!) and I use fink as well. Fink is based on the concepts in Debian's apt system. It, in fact, uses apt to manage its collection of ports.

DarwinPorts is based upon the FreeBSD ports system but instead of installing apps in their typical Unix places like FreeBSD ports, Darwin uses its /opt (I think Solaris does this as well).

Fink and DarwinPorts can coexist just fine but they just ignore each other. Say, for instance, you need gtk as a dependency for a fink package and have it it installed via DarwinPorts, fink will not detect it and will install its own gtk. The reverse works is true as well.

Tcl vs. Python -- Try Ruby instead
by Mark Wilson on Tue 15th Apr 2003 21:34 UTC

Both Tcl and Python are fine, but for scripting, and every other kind of programming, Ruby is really the way to go. www.rubylang.org/en

stallman on tcl
by RJW on Tue 15th Apr 2003 22:24 UTC

You're right anon, I checked the archives and he didn't recant his statements about Tcl, however he did soften his approach, which you can see if you read some of his later posts in the "Tcl War".

interview questions
by RJW on Tue 15th Apr 2003 22:27 UTC

Here's some questions I wish were asked in the interview:
Is DarwinPorts funded by Apple?
Is this based on libh?
Does this have the potential to become FreeBSD's next-generation ports system?

RE: Interview Questions
by Eugenia on Tue 15th Apr 2003 22:41 UTC

These are not so much of a question IMHO.

> Is DarwinPorts funded by Apple?

The guys who work on it are mostly Apple engineers from their Unix department, AFAIK.

> Is this based on libh?

Does it really matter, as long it works?

>Does this have the potential to become FreeBSD's next-generation ports system?

Jordan is not part of the FreeBSD project anymore, so such a decision are solely of FreeBSD's.

re: ruby
by debman on Tue 15th Apr 2003 23:34 UTC

ehhh

I don't know.....ruby is ok, but it is not as...nice....to learn as Python IMHO. there are some oddities in there.

realy, when you compair ruby to python to perl, they all can do the same things (out side of graphics which AFAIK perl can not do) and they can do it well. so if you like to program with a bagillion diffrent ways to do one thing then perl is great for you, if you like easy to read and manage then python is for you...and ruby is close enough to python than it is good for readability and manageability(does ruby have better performance than python?)

BSD Mall's Unix Utilities
by Kady Mae on Wed 16th Apr 2003 03:50 UTC

Ben Huot said:
"You can also get BSD ports in an easy to install package on cd-rom from BSD Mall. It is called UNIX Utilities for OS X. "

I bought BSD Mall's Office Applications for OS X. Overall I am pleased with my purchase, even though I've never used 1/2 the software. The install is fairly painless and the X windows and programs work well.

The only flaw is spotty documentation and help functions for the various programs. I've not yet been able to figure out how to resize/resample a photo in gimp. (I do it all the time in Pshop and Corel). There's also a little utility that's supposed to let you copy from Aqua to X and vice versa. NO HELP file whatsoever, and it's not intuitive to use. After contacting the folks at BSD Mall, I've been able to copy X to Aqua, but Aqua to X hasn't worked.

Despite these annoyances, it's a good product and money well spent.

Screenshots
by John Blink on Wed 16th Apr 2003 05:25 UTC

Were those screenshots linked in the Interview and the ones on the OpenDarwin website taken under OSX, or was the app skinned to look like Aqua.

Since I am not a Mac User I found it strange to not see the usual Mac bar at the top. I understand the dock can be hidden.

RE: Screenshots
by Eugenia on Wed 16th Apr 2003 05:48 UTC

It was just an abstract, a detail of the desktop, not the whole desktop.

v So Jordan
by steve Jobs on Wed 16th Apr 2003 13:04 UTC
re: So Jordan
by debman on Wed 16th Apr 2003 15:05 UTC

las time I read the BSD licence IT CAN BE USED WITH OUT PAYMENT IN ANY CODE. if you are gonna be a moron, open your mouth on something a bit more nebulas like politics.

Eugenia
by James on Wed 16th Apr 2003 18:12 UTC

I thought Jordan was still part of the FreeBSD project, but simply no longer a core member?

I was under the impression that he quit core and decided to take backseat for a while -- seeing as how Apple & OpenDarwin likely consume most of his time.

RE: Screenshots
by Rex Roof on Wed 16th Apr 2003 18:19 UTC

it could also be on a second monitor.

Re: Tcl (by anon)
by Brian Hawley on Wed 16th Apr 2003 19:39 UTC

RMS believed it was a limited language and a bad foundation

Can't say much about the language limits, as all languages have limitations that enable you to structure your code properly (except maybe Perl, where most don't care). The bad foundation criticism was quite valid once, but not starting with TCL 8 and its new interpreter. I wouldn't be surprised if RMS's comment was outdated when he made it, though.

For example, Hubbard's criticism of Python is weird; I've never known anyone to have problems with whitespace. Can anyone maintain code where the indentation isn't aligned?

The problem with Python whitespace handling comes when some people use spaces to indent and others use tabs. The code looks like it's indented the same to the naked eye, but not to Python. The naked eye's interpretation is used by the maintainer and Python's is used by the interpreter (or whatever) - if they don't coincide, then the code is unmaintainable. You can't assume that tabs correspond to the same number of spaces either, as that varies based on the editor settings. Python is why most Linux code editors make whitespace visible (a rarity outside of Linux), so you can see your syntax.

Other than that, I have no major problems with either language.

Tcl is very powerful
by Jeff Hobbs on Thu 17th Apr 2003 00:09 UTC

For those questioning Tcl, do some research. It is way beyond the days when RMS whined about it. It is the best language for this kind of environment, all things considered.

Re: Tcl
by James Lanfear on Thu 17th Apr 2003 03:17 UTC

To make my post clear for RJW, quoting Stallman was done because he wrote Emacs, noted for its extension language, and so I'm inclined to think he has interesting views on this topic.

FWIW, my experience has been that the wider Lisp community looks on ELisp in about the same way RMS did TCL. No one I know of believes it's a well-designed (or implemented) language; most only tolerate it because there aren't any alternatives. Even the GNU folks were looking at replacing it with Guile.

Whitespace _is_ hard to maintain
by Anonymous on Thu 17th Apr 2003 13:06 UTC

I've never known anyone to have problems with whitespace. Can anyone maintain code where the indentation isn't aligned? </blockquote>

Python may be the best thing since sliced rabbit, but, as a matter of fact whitespace is hard to maintain across years of development. My company has a strict indentation policy, and even offers a .vimrc for developers to use.

Tcl, embedding & RMS
by Clif Flynt on Wed 23rd Apr 2003 13:42 UTC

The usual trick for embedding Tcl is to embed the interpreter. It's C code with a clean API. This is the technique used by the EDA applications like Cadence and IBM.

Re: RMS and Tcl. To put his comments in context, at the time they were made Tcl was a couple years old, Windows 95 was not yet released, and the 486 was the hot CPU. Many things have changed since then, including Tcl. His criticism helped drive Tcl's evolution.