Ask David Korn About ksh And More 144
David Korn is the author of the famous
Korn shell, ksh, which deserves consideration next to the ubiquitous bash. Quote (regarding the AT&T research group he's part of): "We don't write anything in Perl anymore, because [ksh93] has all the functionality built in." He's also an AT&T fellow, and heads up the UWIN project, which "provides a mechanism for building and running UNIX applications on Windows NT, Windows 98, and Windows 95 with few, if any, changes necessary." This is the software that allowed some crazy folks to run GNOME on Windows several weeks back as well. (And is available for no-cost personal use.) This is the same David Korn you may remember from this picture. I met him at a recent NYLUG meeting when he spoke about the Advanced Software Technologies collection of tools, now Open Source, and he graciously agreed to field questions in the usual Slashdot interview style. So please leave your questions in the space below --1 question per comment, please -- and Korn will get back to you with answers in the near future.
pdksh... (Score:3)
--
Re:Question (Score:1)
korn (Score:1)
How does it make you feel that a shitty rapcore band is using your name?
Re:[OT]Re:Comparison (Score:1)
Thanks, man - you rock! I agree, ksh is one of the best-thought-out command-line shells. I'll try this stuff on bash tonight, it works on ksh.
Ksh and regexes (Score:2)
My question is about ksh's regex capabilities. You mention that you don't have a need for Perl anymore due to expanded features in ksh. I have found the only area in which ksh seems to need improvement is in it's regular expression syntax, which differs greatly than the "norm" (if there is such a thing) in the UNIX world.
Are there any plans to move towards a more POSIX-style for regular expressions, like those found in grep and Perl?
Re:Question (Score:1)
NT 3.51 (I believe) batched GDI requests up, to prevent the heavy performance of user mode->kernal mode switch.
Re:Two simple questions... (Score:2)
IMHO, Unix is fluid enough not to be holding up progress. Most of your modern Unices have a plethora of features and hooks which wouldn't be found earlier, particularly in userspace. While some completely new paradigms exist (such as exokernels), even these can (via userspace libraries) be made to expose a Unixlike interface to applications.
Consider, for instance, the relatively recent introduction of threading (both userspace and kernelspace); checkpoints (in userspace); component object models (userspace); ACLs (both); etc.
While there most certainly are revolutionary ideas out there (hence Plan 9 and The HURD), these can still be edged into "unixlike" operating systems, retaining application compatibility and decreasing the amount of retraining necessary on transition. However, they will be even less "your father's Unix".
I'm not current on OS research -- so take this with a grain of salt -- but I expect that Unixlike OSes will be around for quite some, even if they lose much of the appearance and limitations of the original. Improvement, that is to say, will be incremental rather than revolutionary. 'Twill still happen, though.
Re:Why Only Unix/Linux? (Score:1)
Guess you have never heard of 4NT [jpsoftware.com] and 4DOS [jpsoftware.com] (Sorry for sounding like a commercial, but I've was using 4DOS since MSDOS ver 5, as a command.com replacement and NEVER had any problems! Games, Qemm, etc all worked perfectly back then. (History Trivia: Norton Utilities licensed a version and called it NDOS)
I stopped using 4DOS about 3 years ago, when I switched over WinNT 4, and found 4NT.
4NT does file-name completion better then any shell I have seen. Everytime I hit tab, it completes the NEXT filename to match. Shift-Tab does the previous match.
i.e. directory
abc
ade
adz
foo
I press tab and it puts the first filename on the command line. I press it again, it cycles to "ade", pressing again "adz", and pressing once more, puts "foo".
If I start with "ad", then press tab it complets "ade" (like bash), I press tab once more, and it goes to the next match, "adz"
Can BASH / KORN be configured this way ?
P.S.
Filename completion IS in the default shell "cmd" of Win NT4 and Win NT5 except the idiots at M$ DISABLED it by default! Search the registry for "CompletionChar" and set it's DWORD value to 9 (which is the TAB key)
Re:Standard UNIX shell... cough (Score:1)
My bad.
I think I interpreted the line in one of my Bash tutorials that said something like, "Bash is available on my Unices, and is the default on some of them" to be, "Bash is the default on many of the available Unices."
So it may be fair to reflect on what is missing from ksh that is in bash - things like PROMPT_COMMAND for a start.
I think the question is still valid, my misinformed comments notwithstanding. If Bash is a superset of features from ksh, then what still makes ksh an appealing shell to use? What distingishes ksh from other shells that have similar features and/or functionality?
--
Re:Why? (Score:2)
The title of the article is Ask David Korn About ksh And More . Korn has a lot of experience with the internals of both, and trying to get the different philosophies to cooperate with each other under one OS. Seems like a fair question directed to the perfect person...
the ubiquitous bash shell? (Score:1)
My 2 cents.
Scott
Re:Why Only Unix/Linux? (Score:1)
Of course zsh does that!
setopt automenu
(I think bash does as well.) Believe me: zsh (and bash) is much more powerful than 4NT. I use both on NT (zsh under cygwin). When I moved from DOS/4dos to unix I just couldn't believe what zsh was capable of.
Graphical dtksh, zend, standardizing on ksh93, rpm (Score:3)
ksh v. zsh (Score:1)
Good Q, more detail (Score:2)
Microsoft was doing a presentation about the upcoming features of Windows NT 5.0 and the presenter enthusiastically told about how the DOS shell was borrowing many features from ksh. He went on to explain this features and someone in the crowd tried to get the presenter's question. The individual asked a few pointed and technical questions, hinting as some doubt if MS could do what they planned. The presenter "pooh-poohed" the questioner and basically told him the MS engineers would work out the details and that the questioner had nothing to worry about.
At this point, another person stood up and proclaimed, "Do you know that he is David Korn?"
Anyhow, this is the version I know of, and I found the story to be a riot. It is probably off base, but a little more clear than the original poster's description. I'm *really* curious to know how much of this is true.
"Unix-like"? (Score:2)
Like Tetris? Like drugs? Ever try combining them? [pineight.com]
Re:Comparison (Score:2)
some_command |read varname
For whatever reason, varname is never set in bash or pdksh. What makes this particular operation so difficult? Do most shells execute the read after pipe in a sub process?
Re:Comparison: ksh has "cd fromdir todir" (Score:1)
cd from to
It works like this: suppose you're in a directory
but you have a parallel directory structure to
'src' called 'test' and you want to cd to the same
dir there--i.e. to:
In ksh you just type:
cd src test </blockquote>
and it takes you there, printing the full directory you are now in.
I find this a hard feature to live without, so I have this in my
function cd()
{
#there are options on cd in bash2
cdopts=""
while [ "$1" != "${1#-}" ]
do
cdopts="${cdopts} ${1}"
shift
done
if [ $# -eq 2 ]
then
pre=${PWD%%$1*}
[ "$pre" = "$PWD" ] && { echo "cd: bad substution"; return 1; }
post=${PWD#*$1}
newdir="${pre}${2}${post}"
[ -d "${newdir}" ] || { echo "cd: ${newdir}: no such directory";return 1;}
echo "${newdir}"
#echo builtin cd $cdopts "${newdir}"
builtin cd $cdopts "${newdir}"
else
# echo builtin cd $cdopts "$@"
builtin cd $cdopts "$@"
fi
}
With this, bash can do it too. Of course, I have
to copy it onto every system where I use bash
(mostly Linux).
Bash has some nice things too, though.
Re:Why? (Score:1)
Re:Question (Score:1)
Re:Ksh Programming For the Web (Score:2)
Slashdot subject length is limited. (Score:1)
There is a length limit on the "Subject" field of Slashdot posts. If the poster had attempted to use the subject you suggest, he would have been stuck with the following:
Yeah this has been bugging me... (Score:1)
----
Re:What functionality/code in ksh r u least proud (Score:1)
Where is the Grammar Nazi when you need him?
Re: VI or Emacs? (Score:1)
Why are Bell Labs shells named after main programm (Score:1)
Re:Two simple questions... (Score:2)
Moderate this guy up!!!!
AST libraries (Score:1)
Unfortunately, these libraries seem to have not been widely adopted by the free software community since they were opened. (Perl can use sfio; other examples?) What do you think is needed to change that? Licensing? Perhaps distribution in the base packages of the free operating system distros? More documentation/tutorials/examples? These packages have their own auto-configuration feature test tool (iffe) and build scripts that differ in the details from the "./configure ; make ; make install" procedure common to much free software. Would it be helpful to convert them to use autoconf, for example?
It seems a terrible shame that more programmers are not exposed to the library construction and reuse principles in Sfio, Cdt, Vmalloc. If these libraries were in everyday use, we'd probably see more code written in that style.
Re:Ksh Programming For the Web (Score:1)
I have a suite of scripts and functions that I recently implemented to handle MS-SQL Server/7 from KSH. I currently do quite a bit of automated database processing from KSH.
I've just finished a (less satisfactory) package for dealing with Oracle, too.
Alternative shells on Windows systems (Score:2)
Do you have any thoughts about why the shell concept has not caught on with other operating systems?
Probably because Mac OS and Windows are designed around an assumption that newbies are very afraid of a command line.
I'm thinking of NT and Win2K in particular, but it seems to be true in general.
Bash and Fileutils have been ported to DOS [simtel.net] (you'll need at least bsh204b.zip, fil316.zip, and txt20b.zip to get a useful shell). So has a lot of other GNU software; start with DJGPP [delorie.com], the DOS port of GCC.
Install Red Hat Cygwin [redhat.com] and you get Bash, GCC, and other things you may be used to on GNU/Linux, BSD, or UNIX systems.
Like Tetris? Like drugs? Ever try combining them? [pineight.com]
Re:Bash is a clone of ksh (Score:1)
I still script in ksh, no point in being a bigot about it.
or dtksh? (Score:2)
Re:Why Only Unix/Linux? (Score:1)
Yeap, I know. I just got used to the 4NT %@ commands and have a hard time converting over to another shell.
Got a link for zsh? That shells sounds kind of interesting.
Re:Comparison (Score:1)
Side note: GCC no longer on UWIN (Score:2)
This doesn't have anything to do with the ultra-cool ksh, but I'd thought I'd mention it: this message [gnu.org] is the announcement of removal of support for GCC running under UWIN. This decision came direct from RMS [gnu.org] and generated lots of discussion over the next several days concerning legal-but-not-political decisions [gnu.org].
Re:Comparison (Score:2)
--
There is a lot more to the size than you realize. (Score:2)
On my Solaris x86 system, here are the sizes for some of the ksh-type shells:
-r-xr-xr-x 2 root root 215304 Jan 5 2000 /sbin/sh /usr/bin/ksh /usr/dt/bin/dtksh
-r-xr-xr-x 3 root bin 167168 Jan 11 00:04
-r-xr-xr-x 1 bin bin 651888 Dec 2 1999
But wait, ksh93 (which is sort of dtksh) supports libraries loaded at run time, so the size can be deceptive.
I've heard that sash is much more appropriate for a linux-floppy environment.
Re:[OT]Re:Comparison (Score:2)
Uwin vs .NET (Score:2)
[For example, MS .NET probably is not going to let you host your stuff there, even if you wanted . . .]
Given the variety of problems MS has had with their servers over the past few days, what is your opinion of the future/workability of that approach compared to your own?
Why Only Unix/Linux? (Score:4)
The "shell" has been a key feature of Unix/Linux for over twenty years. The concept of having the freedom to use a different shell is clearly popular and important among users. Do you have any thoughts about why the shell concept has not caught on with other operating systems? I'm thinking of NT and Win2K in particular, but it seems to be true in general.
north.coaster
Have you ever thought about... (Score:1)
Bash is a clone of ksh (Score:2)
"bash is the default shell on Unix?" On Linux, yes, on Unix, no.
Most of the cool bash-isms (such vi and emacs editing modes) were straight from ksh. Bash was a free clone of ksh, with a bunch of other stuff thrown in.
I get a bit of a kick out of these Unix youngers, forced to use Solaris, run out and install bash, not realizing /bin/ksh does most of the same thing. (The main reason that Unix youngers will just plain not use ksh, is lack of arrow key support. But no *real* Unix user would think of using arrow keys. Why not just find a "notepad" and Windows Explorer clone, or go back to Windows :-)
bash is to ksh as Linux is to Unix. A newer, cooler, free version of an great thing.
-me-
Re:ksh93 as a programming language? (Score:1)
Re:Why? (Score:1)
Korn (Score:1)
Do you ever plan on doing a deal where Korn is the official band of ksh, or ksh is the official shell of Korn?
Re:Why? (Score:1)
While not quite true on Windows, this is true for xfree: press Ctrl+Shift+Numlock and use the numpad keys to navigate. Then you can even do things like freehand area selection on the GIMP without a mouse.
I guess you probably meant keystrokes for menus etc in Windows, though. GNOME+icewm passes this test too (without having to use the numpad pseudomouse).
UWIN and Cygwin (Score:3)
Re:Interactive vs Programming features (Score:1)
!cmd:p
[uparrow]
ksh93 as a programming language? (Score:4)
Re:Comparison: ksh has "cd fromdir todir" (Score:1)
Re:Comparison (Score:1)
Re: VI or Emacs? (Score:1)
You mean this one? (Score:4)
I've been attending the USENIX NT and LISA NT (Large Installation Systems Administration for NT) conference in downtown Seattle this week.
One of those magical Microsoft moments(tm) happened yesterday and I thought that I'd share. Non-geeks may not find this funny at all, but those in geekdom (particularly UNIX geekdom) will appreciate it.
Greg Sullivan, a Microsoft product manager (henceforth MPM), was holding forth on a forthcoming product that will provide Unix style scripting and shell services on NT for compatibility and to leverage UNIX expertise that moves to the NT platform. The product suite includes the MKS (Mortise Kern Systems) windowing Korn shell, a windowing PERL, and lots of goodies like awk, sed and grep. It actually fills a nice niche for which other products (like the MKS suite) have either been too highly priced or not well enough integrated.
An older man, probably mid-50s, stands up in the back of the room and asserts that Microsoft could have done better with their choice of Korn shell. He asks if they had considered others that are more compatible with existing UNIX versions of KSH.
The MPM said that the MKS shell was pretty compatible and should be able to run all UNIX scripts.
The questioner again asserted that the MKS shell was not very compatible and didn't do a lot of things right that are defined in the KSH language spec.
The MPM asserted again that the shell was pretty compatible and should work quite well.
This assertion and counter assertion went back and forth for a bit, when another fellow member of the audience announced to the MPM that the questioner was, in fact David Korn of AT&T (now Lucent) Bell Labs. (David Korn is the author of the Korn shell)
Uproarious laughter burst forth from the audience, and it was one of the only times that I have seen a (by then pink cheeked) MPM lost for words or momentarily lacking the usual unflappable confidence. So, what's a body to do when Microsoft reality collides with everyone elses?
---Lisa
Re:Alternative shells on Windows systems (Score:2)
Um, in case you haven't watched 99% of computer users rcently, I might remind you that that's a competely correct assumption to make. Any efficiancies gained from the command line batch processing are immediately lost when you consider the time taken to learnt to perform such functions. Rather than understand hwo to manipulate a series of around thirty of so widgets, the user must understand hundreds of commands, their relation to each otehr, and their various paramets, which are generally non-standardized across most Unixes.
Just making a small point to remind y`all that GUIs remain the best interface for the majority of computer users - just as common cars [rather than custom hotrods] remain trhe best type of vehicle for drivers. Because most drivers aren't mechanics.
Maybe that might prompt one the the GUI filemanagers to be capable of recursively changing permissions.
On the topic of Windows command line interfaces, while extremely limited compared to Unix, tab completion in W2K for directories with spaces in them works much better than most Unix shells. In Unix spaces can be escaped with backslashes or quotes. But the default tab expansion uses backslashes - which makes the directory much less readable and [if there are more than two spaces, quite common for many word processed documents] often expans the filename way off screen.
The windows cd can also do some nifty tricks. If you cd to a directory with a space in it and do not escape the name [Eg, `cd Program Files'] it will look at the unknown parameter `files' see if any directory called "Program Files" exist, and change into them accordingly. You can also use `cd
Re:Question (Score:2)
Context switches are a problem. But the difference is not that X has 2 (client->kernel->server) and Windows has 1 (client->kernel).
The problem is "synchronous" interfaces, where you make a call and that call, besides doing something to the screen, returns a value. This actually requires 4 context switches on X and 2 on NT according to your design.
What is needed is non-synchronous or stream-based interfaces. In this case all the things you want to draw on the screen go into a buffer and are eventually flushed. This has the potential of making the number of context switches per operation .001 (note the decimal point) or smaller!
With such a design the overhead of not putting the server in the kernel is miniscule, and you get all the advantages of making it user level.
The problem is that both are designed with large numbers of synchronous interfaces. Windoze has an excuse in that it is based on W3.1 where everything was synchronous, but X was designed as a server, and they really had no excuse for doing stupid things like requiring a round trip to allocate a color or to set the current font.
I do hope that X will be replaced someday, like soon, but we should design it right. Hacks with memory mapping and direct rendering and kernel modules are nice, but none of them come close to the win you will get with an interface that is designed to be piped. The problem is that any such interface is going to incompatable, it is impossible to emulate a synchronous interface atop an async one.
I'll stick with bash (Score:2)
Re:..A little known fact.. sorry OT (Score:2)
ksh today (Score:4)
Given the chance to completely redesign ksh for today's higher spec mahines and the current consumer base, what new features would you include?
True Story? (Score:5)
Just curious...
Open sourcing/More about pdksh... (Score:2)
Here's an extract regarding its strengths:
pdksh's strong points are:
- its free and quite portable - you should be able to compile it easily
on pretty much any unix box.
- the vi editing mode is better (IMHO) than that of ksh88 or ksh93
(command/file completion using tab (optional), less buggy).
Its weak points are that there are still a few differences from ksh88 (the major one is that `echo hi | read x' does not set x in the current shell - the read is done in a separate process). See the NOTES file in the distribution for more details.I do believe that you could both benefit from such a collaboration and BTW, I wonder if you plan to open source ksh ?
--
Two simple questions... (Score:3)
A corollary - is unix holding up progress? If a brilliant new system were to be written that overthrew the establishment (like unix did in its day), it would need the momentum of people supporting it. Such a momentum isn't possible when the hacker community continues to support the well established unix way of thinking. Does this in some way impede the appearance of a completely new paradigm (like unix was in its day...)? What would be the conditions that could create such a new system? After all, it's unlikely that unix will be the research OS of choice for decades or centuries - it will have to give up at some point.
w/m
Kind of a shell question... (Score:4)
So Korn (the band) drinks Coors Light [att.com]? I might have suspected...
Interactive vs Programming features (Score:2)
But what about improving interactive features to make the CLI less user-hostile? Tab filename completion, searchable histories, that sort of thing. And I'm sure there are undiscovered innovations. AFAIK none of the *IX shells has the interactive features of 4DOS [one-step searchable visually modifiable history].
Re:Why? (Score:1)
FPATH (Score:1)
Re:Why Only Unix/Linux? (Score:1)
Re:Comparison (Score:1)
I do not believe that sun 'officially' supports it.
Re:Why? (Score:2)
Yeah, this thread's s'posed to be about shell wars, not OS wars :-)
C shell considered harmful! [landfield.com]
(Actually, in all seriousness - I really like that "Csh considered harmful" - and the Korn shell rocks. I grew up on SunOS 4.x and csh/tcsh (with Bourne shell for scripting) and was led to ksh by a clued manager in my first job after graduation who said "Hey, check this out, they even say Sun might make this the standard shell someday instead of that C shell".
Been addicted to it ever since. First thing I do is make /bin/ksh my default shell. If it ain't there, I put it there.
Re:Why Only Unix/Linux? (Score:1)
Re:How do you feel... (Score:1)
Check out "Korn meets KoRN [kornshell.com]"
The guy actually has a copy of ``The New Kornshell: Command and Programming Language'' signed by KoRn members David Silveria, Fieldy and Munky.
Re:Two simple questions... (Score:1)
It's also unlikely that autocatalytic sets of amino acids will rule the biosphere for decades or centuries or millenia or billions of years...
UNIX is not a crystal. It changes. It adapts and evolves. It's not just a four letter word, kiddo.
Re:Bash is a clone of ksh (Score:2)
You just described my "first time" with /bin/ksh, having been raised on /bin/csh and /bin/tcsh in 1990-1992.
As soon as I was shown "set -o vi", I never looked back. If you know how to use vi (or emacs - you can "set -o emacs"), you'll never use the arrow keys again in any shell.
on a similar note... (Score:2)
Me: "So, you do a lot in the Linux world?"
Him: "Well, you know that penguin? I was the one who drew it."
Me: "Oh, you're Larry Ewing."
Him: "That's right."
Me: "Dude, that penguin is *way* over used."
Him: *shrugs*
...I kinda felt bad afterwards, because he seems like a nice guy. I *was* pretty jazzed to meet a "name" in the Linux world. And it's not his fault that his art is overused. Still, I just had to say it.
--Lenny
ksh compatibility across platforms (Score:2)
As soon as I saw your name, I recalled the story that made the rounds several years ago about ksh compatibility by MKS's Korn shell and Windows (see end of post)...
My question:
As I see it, one of the big problems that continue to affect the Unix community today is that each OS vendor customize Unix in some peculiar/exclusive way.
I can't recall anymore, but I think I ran into the problem with ksh being significantly different from Solaris with Dynix/ptx.
Certainly, there's a lot of shell-scripting out where where platform-specific behavior is written in each script. And the shell-command tests to identify the platform were rather yucky.
How, then, do shell's compete against PERL or Java where part of the goal is to hide almost all of the OS-specific quirks behind a layer of abstraction? And, (assuming my memory of ksh being "framgented" across platforms is correct) has ksh "defragmented" with the newer versions?
The lead article says that ksh now is so complete that you don't need PERL anymore. But do these ksh script still have to have OS-dependent sections?
Thanks.
Here is the story from William Birch (which I grabbed out of the Google Cache [google.com]:
Re:ksh93 as a programming language? (Score:1)
Re:Why? (Score:1)
Dunno, but since the purpose of floppies is interoperability, for some circumstances that could be as useless as me formatting a floppy ext2. Sure, I agree floppies *should* be legacy.
Re:Why Only Unix/Linux? (Score:1)
I vaguely remember a 4OS2 shell as well, and I know they've released 4NT.
There are also replacements for Windows Explorer, such as LiteStep. There were replacements (most of them sucked) for progman.exe.
Anyway, my point is that it may not be as popular as it is in the unix world, but you certainly do have the freedom to change the default shell under M$ OSes, and you always have.
Re:Why? (Score:1)
And on top of that, Windows doesn't have any support for symlinks. Huge limitation IMHO, I guess we'll have to wait for whistler for another "new feature" that is nothing more than a crude hack. Oh well, I'm getting used to them now. Windows 2000 now has a telnet service so that you can "telnet to your win2k box". Wow, what will M$ think of next?
What functionality/code in ksh r u least proud of? (Score:4)
Jed (Score:1)
Re:Why? (Score:1)
Re: (Score:2)
Re:KSH on Solaris.... Why is it so poorly set up? (Score:1)
No wonder unix was going down the tubes. who the hell is going to be able to figure this out as a newbie?
What the fuck is with these people?
--
UWIN and etc (Score:5)
-
The IHA Forums [ihateapple.com]
Re:Question (Score:2)
However, besided bad drivers, there are numerous mistakes in the Xlib interface so that many of the "asynchornous" calls are always followed by a wait for a response from the server. For instance the call to register an Atom requires the server to check to see if it is registered, allocate a new number, and return it. Xlib must block until this value is returned, because the Xlib interface is a function that returns the atom.
There is very little that can be done about this because it is almost impossible to add extenstions or change the design of the X server. I think it would be faster to use string tokens than to use the bi-directional atom mechanism. Or you could give each process it's own Atom space, with translations done by the server to messages between processes (this requires the location of Atoms in each message to be identified, which is nearly impossible). It does appear that Windoze has learned to batch requests as well, they added a GdiFlush() call. They probably also call this when you do GetMessage and some other system calls.
A question for Korn (Score:2)
Public Apology (Score:5)
I sort of turned over in my sleep, (I was extremely groggy), and said "I hate the Korn shell." and went back to bed. Adam never really talked to me after that, although he was polite enough to me at parties.
So, Dr. Korn, I feel I owe you an apology. I didn't mean to disrespect your lifework in front of your son! I still can't use the korn shell, but call it fear of the unknown, please, rather than lucid comments on your code.
Peter Vessenes, Brown '97
Re:the ubiquitous bash shell? (Score:2)
For what it's worth (and I know this is common knowledge, but I'm mentioning in it hopes of limiting the number of redundant posts in this thread...): the reason that csh/ksh ship with commercial Unices and bash ships with Linux is because csh/ksh were originally written as non-free software. The need for a free, full-featured shell led to the development of bash, as well as free workalikes of the other shells (pdksh and tcsh) for those who needed to maintain close compatibility with existing ksh/csh scripts. (although scripting in csh is a bad idea from both a security and code maintainance point of view...)
Personally, I've stuck with bash ever since I first used it, because it combines the best features of ksh (job control, history, aliasing/substitution) along with invaluable interactive features like tab completion and emacs-style editing keystrokes. If I need to write scripts, I'll either make it Bourne-shell compatible (so it will run anywhere) or else write it in Perl (where I'm much more comfortable with the syntax).
But even though I haven't really used Mr. Korn's shell for about five years, I'm most appreciative of the advances he's made that have benefited programmers and admins everywhere. Good work!
Re:Why? (Score:2)
I also can see it for cases where you remotely develop unix apps where the connectivity between the unix box and your workstation (in this case, a windows box), is poor. I did this when I had a dialup during school stuff. Make sure everything works well in Windows, and then transfer to unix, and double check to make sure it works; assuming the ports are true, then you have no problems.
How do you feel... (Score:2)
What is a "Fellow", and what does it entail? (Score:2)
On the third part about how a person becomes a fellow, what amount of experience or qualifications does one need?
Cheers!
Ksh Programming For the Web (Score:3)
Also, how do you feel about most commercial Unix vendors (and projects like pdksh) that are still shipping ksh88 as the default, 13 years later? ksh93 has many more useful features, but the takeup has been slow.
Thanks,
-Dom
Why? (Score:2)
Comparison (Score:5)
Question: can you engage in a little unadulterated advocacy for a moment to offer some reasons why an informed user might consider using ksh over bash or other popular UNIX shells? What does ksh provide that other shells don't? Similarly, can you give a realistic appraisal of ksh's drawbacks as compared to bash or other shells?
Thanks.
--
Urban legend? (Score:2)
=)
Re:Question (Score:2)
For example, if I draw a line, then draw another line, then a third, Xlib will not only buffer those requests and send them over as one bunch, it will examine the lines to see if the operation can be converted into a single polyline operation.
This also benefits the system in that once X starts working on the commands, it can resolve several things at once, thus increasing the likelihood that the X routines and data will be in the CPU cache. The Windows approach virtually guarantees the graphics libraries will be faulted out of the working set.
What makes X "slow" in most people's experience is the fact that the X servers receive far less optimization than the Windows servers, esp. when dealing with commodity x86 hardware. A proper X server, optimized just as the Windows drivers are optimized, is as fast as Windows, and in cases where the card can perform operations in the background, faster.
Feature request (Score:2)
Q6. Are any further releases of ksh planned?
A6. Yes, we are in the process of planning for a newer version, ksh200X.
We are interested in suggestions for new features.
Again, most of the focus will be on scripting and reusability.
As I believe this poll is also aimed at defining these improvements I was thinking of the following:
Ksh is supposed to make people's life easier and I use it whenever integrating e-payment software on my servers.
I was then wondering whether some feature that I saw in VMS could be implemented in Ksh: directory-specific profiles.
For example, you log on and set your environment (profile) with your
This would not only apply for a user working with the prompt but also whenever launching some specific scripts that are suppose to activate some binaries or whatever else somewhere.
This would then allow some context-sensitive programs to be automatically executed with a minimal knowledge of the environment.
So, I wouldn't have to say to the logged user to set their environement a given way whenever working or not with some apps.
BTW, some similar feature also exists on Acorn RiscOS [riscos.com] platforms and really makes one's life easier.
I think this is not incompatible with Unix and may even widen its possibilities (from the user's point of view).
Finally, here's my question: Do you want to restrict Ksh to fit a stereotypic Posix environment look'n feel or are you working to make it a real enhancement of such systems, especially in ergonomy?
--
what about enhancing ksh syntax ? (Score:3)
GNU bash, version 2.02.0(1)-release (sparc-sun-solaris2.6)
Copyright 1998 Free Software Foundation, Inc.
-> ls -la
-rwxr-xr-x 1 bin bin 3157516 Jul 14 1998
# Version M-11/16/88i
# ls -la `which ksh`
-r-xr-xr-x 2 bin bin 186356 Jul 16 1997
In which direction do you plan to improve it ?
Will you rather keep it compact or extend its functionalities regardless the volume increase ?
This issue is quite important for me as, as of yet I am working upon some System-on-a-floppy distribution and the size appears to be critical in this context.
--
So, Dave ... (Score:4)
Re:Comparison (Score:2)