Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

ENTERPRISE SOULSUCKING

Name: Anonymous 2009-11-06 3:13

I spent most of my day working on a C#/ASP.NET website for one of my classes.
I only wrote about 40 lines of code; and 39/40 of those lines were for the extra credit part of the assignment, which was optional.
Feels bad, man.

Name: Anonymous 2009-11-06 3:19

You spent a day with shitNET and wrote only 40 lines of code? You liar, this is only possible with Lisp, Haskall and Trollgol.

Name: Anonymous 2009-11-06 3:22

>>2
you have obviously never had to design a website in VS.
it's almost completely done with the mouse

Name: Anonymous 2009-11-06 3:26

>>3
he he he, lispers think they have a monopoly on abstraction, code reuse, etc - they couldn't be more wrong

Name: Anonymous 2009-11-06 3:28

>>4
This remind sme of a certain acquaintance of mine that thought code reuse meant copy-pasting code. I suppose modern techniques of "code reuse" mean clicking through a wizard to generate some skeleton code.

Name: Anonymous 2009-11-06 3:34

>>5
No, it generates all the code, using Microsoft's own disgustingly large API library. Allowing you to write less code and achieve more.
Lispers pride themselves on their macros and bullshit, but they can't even hold a candle to ENTERPRISE methods.
Infact, the Lisper mindset is excactly that of the ENTERPRISE programmers', but nobody ever seems to notice.
Denial perhaps?

Name: Anonymous 2009-11-06 3:36

>>6
I almost HBT

Name: Anonymous 2009-11-06 3:40

>>6

7/10.
Made me chuckle.

Name: Anonymous 2009-11-06 3:47

Lispers:
    I like Lisp because it allows you to write applications easily with enough abstraction that I won't make common mistakes, will be able to write a minimal amount of code and not need to worry about the hardware underneath it all.
    I can write consise modules and share them with all my friends to reuse in their code.
    It also allows you to deal with the low level stuff and optimize your code if you wish, but doesn't force all that low level nastyness upon you needlessly.

ENTERPRISE PHBs:
    I like Java because it allows my programmers to write applications easily with enough abstraction that they won't make common mistakes, will be able to write a minimal amount of code and not need to worry about the hardware underneath it all.
    My programmers can write consise modules and share them with all my other programmers to reuse in their code.
    It also allows you to deal with the low level stuff and optimize your code if you wish, but doesn't force all that low level nastyness upon you needlessly.


┐(´ー`)┌

Name: Anonymous 2009-11-06 4:09

>>9
You missed the fact that Lisp allows much more powerful abstractions than Java offers.Of course, you can do some of those things in Java, but it will be a lot more painful than in Lisp, maybe painful enough that few people would even bother doing them. Java doesn't allow all kinds of fancy things as it's designed to be a simple language for the average coder. The [b][u]ENTERPRISE[/b] needs replaceable code monkeys, and they need their code to be easily maintained (hopefully) by random coders they hire, which is possible since Java is simple and SUN has pushed it enough into schools, that everyone knows it.

As for examples of such abstractions, I'll give a simple one:

About 10 minutes ago I wrote a local macro which generates a comparison/arith function which operate on some special kinds of data I have made before this. After that I wrote 2 more lines to write another macro which generates instances of that macro for a given number of functions, after that I just wrote:

(def my-special-type > < /= = * -)
within the body of the local macro, and I was done. It took a total of 8 lines for the 2 macros and the actual definition line.

Name: Anonymous 2009-11-06 4:11

In Java, I would have 2 options:
1) I could write something to generate this code for me == yuck, bad for maintenance.
2) I could write something to generate this code for me for a base object, or just write the boilerplate by hand, then subclass my object from that class... oh wait, what if I want to use this for completly different objects... Java only has single inheritance... in Lisp I could write some macros or just use a mix-in which would add that functionality to the object easily.

Name: Anonymous 2009-11-06 5:04

>>10
yes, but java supports its own fancypants time savers like generating code from UML that i highly doubt are possible Lisp.
>>11
static functions?

Name: Anonymous 2009-11-06 5:10

>>12
Why wouldn't it be possible? Lisp is far more easily generated than Java.

Name: Anonymous 2009-11-06 5:13

>>13
because it's not object oriented?
i don't think UML is compatible with functional programming either

Name: Anonymous 2009-11-06 5:44

>>14
A fairly annoying misconception about Lisp is that it is not "object oriented".
Lisp has one of the most advanced object systems out there, however if someone wanted to implement a simple single-inheritance system like Java or Smalltalk's, you could do it in about a page of code for the simplest version(not particularily fast, but functionality would be similar).

However, you are right, Lispers wouldn't be generating code from UMLs. Why would they? When Lisp is the original meta-programming language. You can generate code using macros (among other things). You can also generate code at runtime, compilation time, read time/etc. You can change the syntax if you wish with read macros, and so on. Basically, Lisp doesn't need to generate boilerplate code, since you can write up some code which generates code for you, and then just call it up like a simple function call. This has the advantage of properly keeping the abstraction and not having to deal with regenerating that code by hand each time, instead it generates it for you upon compilation. (Of course, if you needed to manually generate such code and insert it into your own source code(ugh), it can be done easily by calling macroexpand/macroexpand-1 (or another macro-expander) (among other methods), and just copying or inserting the code. Also editors such as Emacs provide an expansion minor mode which just shows the macro expansions by pressing a chord(like C-c M-m or C-c M-Enter, then you can press similar chords to expand pieces of code as you wish, and so on).

tl;dr - Lisp can do it, but it rarely needs it, since there's much more attractive options out there.

Name: Anonymous 2009-11-06 6:00

While not very popular, there used to be some tools for generating class structure using a GUI for the Genera, and I believe some of the commercial Lisps have something like that too. I'm not sure if there's anything like this for McCLIM, but there are a couple of Emacs plugins which allow generating classes non-graphically (like Redshank) - not that defining classes or structures is hard at all - it's actually very easy, there is very little boilerplate to be written at all, and even less if you use some tool or write more specialized macros.

Name: Anonymous 2009-11-06 6:07

>>15
generating code at runtime is an ENTERPRISE wet dream.
in fact, most of the things you describe are.
ENTERPRISE LISP

Name: Anonymous 2009-11-06 6:12

>>17
Except that it's a lot less effort (a simple call to COMPILE with a quoted lambda is the simplest way) than in other languages.

Name: Anonymous 2009-11-06 6:16

>>17 not in a critical path, no. Besides, on some implementations evaluating a form without compiling it takes orders of magnitude less real time.

Name: Anonymous 2009-11-06 6:17

>>17

s/ENTERPRISE/EMBEDDED HARDWARE/

Don't change these.
Name: Email:
Entire Thread Thread List