![]() |
#121 | |||
New York Editor
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 6,384
Karma: 16540415
Join Date: Aug 2007
Device: PalmTX, Pocket eDGe, Alcatel Fierce 4, RCA Viking Pro 10, Nexus 7
|
Quote:
I suspect AutoLISP uses RPN because it's easier to parse when evaluating. Quote:
Quote:
______ Dennis |
|||
![]() |
![]() |
![]() |
#122 | ||
New York Editor
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 6,384
Karma: 16540415
Join Date: Aug 2007
Device: PalmTX, Pocket eDGe, Alcatel Fierce 4, RCA Viking Pro 10, Nexus 7
|
Quote:
![]() Quote:
![]() Yes, and an assortment of things like it. In normal usage, I'm more likely to use vi. ______ Dennis |
||
![]() |
![]() |
![]() |
#123 | |
Well trained by Cats
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 31,076
Karma: 60358908
Join Date: Aug 2009
Location: The Central Coast of California
Device: Kobo Libra2,Kobo Aura2v1, K4NT(Fixed: New Bat.), Galaxy Tab A
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#124 |
Digitally confused
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 500
Karma: 1500000
Join Date: Mar 2010
Location: London, UK
Device: KPW, K2i, Nexus 7 32gb, Kobo Mini
|
RPN is definitely easier to parse than standard notation but I don't think that's the reason for the layout. The whole language seems to be built around a simple list parser. If you're going to process the items in a list then you should say what you want to do with each item at the start. The advantage of building the whole language around a simple construct (like a list) is that it makes the language easier to learn and also straightforward to expand. In lisp at least, I don't think there is a distinction between the syntax, the programs and the data.
|
![]() |
![]() |
![]() |
#125 | |
New York Editor
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 6,384
Karma: 16540415
Join Date: Aug 2007
Device: PalmTX, Pocket eDGe, Alcatel Fierce 4, RCA Viking Pro 10, Nexus 7
|
Quote:
OTOH, you can do pretty much anything from within Emacs, including email. Usenet news, and using a command line. I knew folks back when who would invoke emacs as the first action after logon, and just stay in it and do everything from it. _____ Dennis |
|
![]() |
![]() |
![]() |
#126 | |
New York Editor
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 6,384
Karma: 16540415
Join Date: Aug 2007
Device: PalmTX, Pocket eDGe, Alcatel Fierce 4, RCA Viking Pro 10, Nexus 7
|
Quote:
(I'm a sysadmin, not a developer. I use an editor to diddle config files and write scripts. Emacs would be overkill.) ______ Dennis |
|
![]() |
![]() |
![]() |
#127 | |
New York Editor
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 6,384
Karma: 16540415
Join Date: Aug 2007
Device: PalmTX, Pocket eDGe, Alcatel Fierce 4, RCA Viking Pro 10, Nexus 7
|
Quote:
But yes, LISP is intended to be a list processor. Emacs was originally implemented as a set of macros in the TECO language that ran under the ITS OS on a DEC-10 at MIT. Richard Stallman unified and extended several extant TECO macro packages in common use, and called the result Editing MACroS. They reached the point where everyone used it and often weren't even aware TECO was under the hood. When TECO was going away, Stallman rewrote in LISP. The nature of the language was a good for the sort of string processing tasks an editor would do, and it was available on the machines where emacs would be used. (Other available high level languages presented implementation issues, mostly because the machines in question didn't have facilities for handling character I/O.) James Gosling (who created Java) did the first version of emacs in C, implementing a language called mocklisp. Stallman later did his own C language port with a genuine LISP interpreter as the core and most of emacs written in LISP. One valid criticism of LISP in emacs is that the macro language used in an editor ought to be usable elsewhere as well, and even if you are a die-hard emacs user, what else do you do with LISP? Likely, nothing. Eric S. Raymond (who is a Gnu Emacs contributor) was going on a while back about what emacs got wrong, and thought that Python would be a better underlying language. (There are an assortment of editors written in Python - see http://texteditors.org/cgi-bin/wiki....onEditorFamily for a partial list.) I suggested he should rewrite emacs to use Python and was told "Don't tempt me!" ![]() ______ Dennis |
|
![]() |
![]() |
![]() |
#128 | |
New York Editor
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 6,384
Karma: 16540415
Join Date: Aug 2007
Device: PalmTX, Pocket eDGe, Alcatel Fierce 4, RCA Viking Pro 10, Nexus 7
|
Quote:
The term was actually coined by the late Forrest J. Ackerman, a long time SF fan, editor, and agent, as a contraction of Scientifiction, the term Hugo Gernsbach used to describe what he published in Amazing and Thrilling Wonder Stories. SF fans had profoundly mixed feelings and some never quite forgave Forry for it, because the term as used by folks who weren't SF fans connoted all the things they thought made SF at best second rate literature. These days, SciFi is the common term, and I'm philosophical, as it's no longer seen as a denigration. It's become popular in the broader market, and there are films and TV as well as books that fall under the genre. I just tell folks "I watch SciFi. I read SF." ______ Dennis |
|
![]() |
![]() |
![]() |
#129 | |
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 11,529
Karma: 37057604
Join Date: Jan 2008
Device: Pocketbook
|
Quote:
The hardware you're running your Java on is probably more powerful than the top line Cray supercomputer in 1980... I hope you can run a checkers programs without bogging it! I am a dinosaur programmer (COBOL). I took a Java course about 2 years ago, thinking about retreading. Here is the performance differences, both from Object Oriented, (all O O languages) and Java, per se. O O - How do you change an object? Well... the object has the code that made it embedded as part of the object. You end up re-executing the code to get at the data, change the data, and re-encapsulate the data with the code. You think that isn't overhead? In a non O O language, you read the data raw, in your own data layout (or existing file layout you reuse), mod the data, and write. An order of magnitude less machine use. (But you have to know your data! (i.e. you have to know what you are doing.)) Java - an Interpreted language. Any interpretive language is an order of magnitude slower that a compiled language. (Sometimes more that one order of magnitude). A compiler writer is a special breed (I know just one.), who makes the compiled code efficient. Very efficient. Garbage collection...Jeez, I thought that went out with BASIC in the early 1980's! IBM solved that problem back in 1975!!! (Had to! How else could you run 5,000 interactive terminals simultaneously on a machine the power of a Intel 486. One machine, 'cause it cost over a million dollars then!) If you want to get rich as a programmer, figure out how to write a Java compiler that writes out non O O efficient code. Sell to the cloud world, where efficiency save the company money, unlike today's paradigm, where efficiency means nothing, because somebody else is paying for the hardware... (Falls over after the tranquilizer dart hits, and the men in the white coats come over with the straightjacket..) |
|
![]() |
![]() |
![]() |
#130 |
Digitally confused
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 500
Karma: 1500000
Join Date: Mar 2010
Location: London, UK
Device: KPW, K2i, Nexus 7 32gb, Kobo Mini
|
Most Java "interpreters" are actually just in time compilers which spot where the main loops are and then compile it. If a program runs for a short while then it will all get compiled. End result is a program that runs almost as quick as a compiled program. My board game programs will search 1/2 million board positions in under a second and that's using an antique of a computer. This compares well with assembly language programs that I've written (on much older processors). The garbage collection is quite good in Java - I don't give it a second thought but then it depends on how you write the programs as to how much garbage needs to be collected. Similarly there is no need to use the OO features of the language - I don't
![]() |
![]() |
![]() |
![]() |
#131 |
Curmudgeon
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 3,085
Karma: 722357
Join Date: Feb 2010
Device: PRS-505
|
TECO ... Text Editor & COrrector ... the editor I loved to hate, back in the day. What can I say, I liked EDT. Still do. My fingers could probably find the EDT hotkeys on a VT-100 even today, and it's been decades. I used TECO and hated every minute of it. Though the fact that there was an Eliza game written in it was pretty awesome.
The only language I've ever written was a little scripting language called TBL, for a gamemaster's aid program I wrote for D&D players. I didn't plan it out all that much in the beginning, so it kind of just grew. Some of the syntax was taken from COBOL (in its defense, that hideous language was easy for non-programmers to understand), some was from BASIC (ZX BASIC to be exact!), and some from the twisted depths of my imagination, sense of humor, or coding needs of the moment. It worked surprisingly well, all things considered. But it was definitely a bit weird. RSE, I'm surprised at you! It's straitjacket. It's tight, not linear! |
![]() |
![]() |
![]() |
#132 | ||||
New York Editor
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 6,384
Karma: 16540415
Join Date: Aug 2007
Device: PalmTX, Pocket eDGe, Alcatel Fierce 4, RCA Viking Pro 10, Nexus 7
|
Quote:
And the object orientation is a feature. Data in an object is operated on by methods. Objects are accessed through an API. The whole idea is that you can change the methods (code) or the data the methods operate on, without any other part of the application knowing or caring. The object is a black box. The calling process issues calls in a particular format and expects to get results back in a particular format. How the object does it is the object's business. As long as call and response is unchanged, the calling process neither knows nor cares. The big question is not how you change an object, but why you do so. And part of the skill required is understanding the problem you are trying to solve and designing objects that you are less likely to need to change down the road. Quote:
Other current languages like Python and Ruby use a similar design. The concept goes back to the UCSD P-system, which was used by the IBM Displaywriter and showed up in other places like the Apple II. You wrote in Pascal, but it compiled to P-code interpreted by the underlying P-system. Quote:
One of the biggest problems in programming has been the need to allocate memory used by your application, and free it again once done. In C, for example, you use malloc to do it, and it's on you to handle the case where there isn't enough memory available and fail gracefully. It's also on you to make sure the memory you allocated is properly freed when you're done with it, and "memory leaks" because this didn't happen are probably the single biggest headache for programmers. You did put in a "free" call to free the memory, but something happened and it never got executed.... In a language like Java, those details are handled for you. You can concentrate on the logic of the application, not the housekeeping required to make it work. Quote:
Different languages evolved to solve different problems, and languages designed for a particular kind of problem get the nod as the best fit for the job. It's why we got things like Fortran, COBOL, BASIC, and C and very few people code in assembler any more. Forget OO for a moment. Java has several compelling advantages. 1) It's cross platform. Java Virtual Machines exist for just about everything, including smartphones. 2) It's "write once, run anywhere." Java compiles to tokenized binary form called bytecode, targeted at the underlying virtual machine implemented by the JVM. The bytecode is the same, regardless of what you wrote it on. So you can take a well written Java program created on a Windows PC, compile to bytecode, and run that bytecode on a Mac, expecting it to look and behave the same. 3) Java runs by design in a sandbox, with a feature being that it can't easily affect the underlying system. You don't worry about rogue code running amok and doing Bad Things to the machine it's run on. One of the things I'm playing with here is Eclipse, an IBM written programmer's IDE that they made open source and has contributions from developers around the world. Eclipse has a syntax highlighting editor, class browser, hooks to compilers, debuggers, libraries...everything a programmer needs to develop code. And it's extensible to handle new languages and tools. It's written in Java. The same bytecode that implements it on my Windows PC is also running on my Linux based notebook. Just unpack the archive to the desired location and create a shortcut to run it. ______ Dennis Last edited by DMcCunney; 07-27-2010 at 03:56 PM. |
||||
![]() |
![]() |
![]() |
#133 | |||
New York Editor
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 6,384
Karma: 16540415
Join Date: Aug 2007
Device: PalmTX, Pocket eDGe, Alcatel Fierce 4, RCA Viking Pro 10, Nexus 7
|
Quote:
This one is pretty decent open source version, written by a former DEC programmer, and available for a variety of platforms: http://texteditors.org/cgi-bin/wiki.pl?SEDT Quote:
![]() Quote:
![]() ______ Dennis |
|||
![]() |
![]() |
![]() |
#134 | |
Digitally confused
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 500
Karma: 1500000
Join Date: Mar 2010
Location: London, UK
Device: KPW, K2i, Nexus 7 32gb, Kobo Mini
|
Quote:
|
|
![]() |
![]() |
![]() |
#135 |
Snooty Bestselling Author
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 1,485
Karma: 1000000
Join Date: Aug 2009
Location: Ipswich, QLD, Australia
Device: PRS-650
|
*gibber*
Help! I'm remembering my university days! That's not supposed to happen, is it? ARGH - flashbacks... computer lab... unix boxes... VI!!! Telnet!!! Linx! Eiffel!!! *weeps and stuffs memories back where they came from* |
![]() |
![]() |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
New SciFi: 2184 | MartinParish | Self-Promotions by Authors and Publishers | 33 | 12-26-2010 09:59 PM |
Do you know this scifi paperback series? | motormanjh | Reading Recommendations | 2 | 08-08-2009 03:55 PM |
New SciFi Ezine Out | Gibbo | News | 18 | 04-26-2009 10:07 AM |
Help me place this SciFi! | RWJ | Lounge | 12 | 10-22-2008 03:58 AM |
SciFi/Fantasy | kezza | Deals and Resources (No Self-Promotion or Affiliate Links) | 2 | 04-13-2003 11:52 AM |