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

Pages: 1-4041-

The REAL EXPERT PROGRAMMING manifesto

Name: Anonymous 2007-08-12 21:29 ID:fq6hVIZN

[code]
1. MONOSPACE OR GTFO
2. VI OR GTFO, RINSE, REPEAT
3. IF INPUT IS FROM UNTRUSTED SOURCE, CHECK THE SHIT FIRST.  CHECK ALL UNTRUSTED INPUT.  EVERY SINGLE ITEM.  BUFFER OVERFLOWS SHOULD HAVE NEVER HAPPENED
4. ONE STATEMENT PER LINE, BRACES ARE STATEMENTS
5. JAVA SUCKS
6. SLOW HASKELL IS SLOW
7. IF YOU SEGFAULT, YOU DIE FOR REAL
8. I WOULD PROGRAM IN ASM BUT I HAVE BETTER THINGS TO DO IN THE 20 YEARS IT WOULD TAKE ME TO WRITE A DECENT PROGRAM IN IT
9. UNIX NEVER DIES
10. GIVE IT AWAY, IT'LL BE CRACKED EVENTUALLY ANYWAY

Name: Anonymous 2007-08-12 21:38 ID:swgpNQxP

>>1
lies. the expert programmer makes no difference between statements and expressions.
haskell is not that slow.

Name: Anonymous 2007-08-12 23:40 ID:/o7Bvmlk

lololol

+rep.

Name: Anonymous 2007-08-13 2:21 ID:wKQZuMH3

>10. GIVE IT AWAY, IT'LL BE CRACKED EVENTUALLY ANYWAY

Not true. Logic Pro 7 hasn't been cracked. Neither did 6 I believe. I've also never seen a crack for Autocad 2006, even though I have seen one for 2007. Or maybe it was theres not one for 07 but there is for 08. I dunno. I just know it skipped a year.

Name: Anonymous 2007-08-13 3:48 ID:BOtqXXn/

REVISION
10. GIVE IT AWAY, IT'LL BE CRACKED EVENTUALLY ANYWAY IF IT'S WORTH A DAMN AND/OR MANY PEOPLE USE IT

>>2
NOT THAT SLOW = STILL SOMEWHAT SLOW
TRY SUBSTITUTING EXPRESSIONS FOR BRACES, IT FAILS.

if (x==1) { kill_self(); exit -32767 }
if (x==1) x=2; kill_self(); exit -32767; x=2 // OMG NOT EQUIVALENT
THIS IS MY WAY OF SAYING YOU HAVEN'T READ SICP

Name: Anonymous 2007-08-13 7:59 ID:T2woQSs4

>>5
Learn your shit better fucktard.

exit() is a void function that DOES NOT RETURN TO ITS CALLER

Name: Anonymous 2007-08-13 8:03 ID:ZJXzi5fW

I LISTEN TO PAUL GRAHAM AUDIO BOOKS WHILE I WRITE COMMON LISP BECAUSE I HAVE ACHIEVED SATORI

Name: Anonymous 2007-08-13 10:46 ID:AfFcnMy9

>>7
link please? would like to hear some of those

Name: Anonymous 2007-08-13 11:08 ID:ARZlG9m0

>>6
I #define'd to be like that because I'm an #EXPERT PROGRAMMER

Name: Anonymous 2007-08-13 11:13 ID:Heaven

>>9
and anyway it would be
if(x == 1) x = 2; f(); x

    ┌─┬──┬──┬──┬──┬──┬──┬──┬─┐
    ├─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬┤
    ├┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┤
    ├┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┤
    ├─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬┤
    ├┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┤
    ├┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┤
    ├─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬┤
    ├┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┤
    ├┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┤
    ├─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬┤
    ├┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┤
    ├┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┤
    ├─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬┤
    ├┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┤
    ├┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┤
    ├─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬┤
    ├┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┤
    ├┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┤
    ├─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬┤
    ├┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┤
    ├┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┴┬─┤
    └─┴──┴──┴──┴──┴──┴──┴──┴─┘

Name: Anonymous 2007-08-23 15:47 ID:LF+XuXQG

>>10

Nice!

Name: Anonymous 2007-08-23 17:34 ID:80tjLOzX

11. SLOW RUBY IS SLOWER
12. (LISP (IS (KINDA (OKAY (IF (YOU (IGNORE (THE (BRACES)))))))))
13. ????
14. PROFIT!

Name: Anonymous 2007-08-23 17:50 ID:CySWlMFR

>>12
what braces?

Name: Anonymous 2007-08-23 18:27 ID:8c6esSlP

>>13
The paranthesis-like ones.

Name: Anonymous 2007-08-23 18:29 ID:dj8mxJSN

15. MY OTHER CAR IS A CDR.

Name: Anonymous 2007-08-23 18:34 ID:3ODYPhRR

>>13
is clearly an EXPERT LISP programmer, unaware of paranthesis

Name: Anonymous 2007-08-23 19:06 ID:ceqjBEn9

>>1
1: Yes
2: 1970 called, it wants its ancient obsolete editor back
3: Buffer overflows also happen because people use portable assembly
4: Braces are what? Fag. K&R or GTFO.
5: Of course.
6: I don't know.
7: Uh... okay.
8: CFLAGS.
9: Fortunately and unfortunately.
10: Of course.

You're missing 11. READ SICP, ACHIEVE SATORI.

Name: Anonymous 2007-08-23 23:13 ID:Heaven

>>17
2: 1970 called, it wants its ancient obsolete editor back
ugh.

Name: Expert expert programmer 2007-08-23 23:49 ID:E10XJVoO

1. The command line is no longer cutting edge.
2. If you think you achieved satori, that just means you've stopped learning.
3. Just because you can't write low level code doesn't mean you write good high level code.
4. Indenting your code slightly differently doesn't make it better.
5. Learning a little bit of syntax is actually not hard.
6. Making OMG MORE OBJECTS is not a silver bullet.
7. Using OMG MACROS is not a silver bullet.
8. Having OMG REFERENTIAL TRANSPARENCY is not a silver bullet.
9. Doing OMG UNIT TESTING is not a silver bullet.
10. Premature generalization is the root of all evil.

Name: Anonymous 2007-08-24 2:48 ID:RFvB4ZQi

>>17
RMS called, he wants his Emacs operating system back.

And your #3 fails.  Buffer overflows can happen in any language that allows direct access to memory and supports notion of null-terminated strings or 0-byte or other sentinel delimited data structures.  LOL DURR I WILL PUT MY PROGRAM TEXT SEGMENT RIGHT NEXT TO MY DATA SEGMENT FUQIN EXPERT PROGRAMMER

>>19
Commandline pwns all.  You're just lazy, and haven't achieved Satori, and don't know about ncurses, or finch, or ssh, bwm, vnstat, links2, iftop, whiptail, lftp, azureus console, and a whole bunch of nice time-tested tools, software, and libraries that require NO graphics card.

Name: Expert expert programmer 2007-08-24 3:41 ID:kXVseZTN

>>20

When 17 says "portable assembly" it means "C."  Of course real asm isn't portable.

>a whole bunch of nice time-tested tools, software, and libraries that require NO graphics card

Mature,time-tested != cutting edge.  GUI toolkits suck right now but GUI is the future.  Everyone has a graphics card.  Everyone has at least an integrated 3D chipset.  It's a software problem.

Also, my Satori is OVER NINE THOUSAND.

Name: Anonymous 2007-08-24 3:49 ID:igo4Sebk

>>15
same number GET

Name: Anonymous 2007-08-24 4:14 ID:5wnYbBzu

Mature,time-tested != cutting edge.  GUI toolkits suck right now but GUI is the future.  Everyone has a graphics card.  Everyone has at least an integrated 3D chipset.  It's a software problem.
using a GUI is like typing with your penis. everyone on the internet has a penis, but it's much easier to type with your hands instead.

Name: Anonymous 2007-08-24 4:20 ID:i8jJdEtW

>>23
This man has a point

Name: Anonymous 2007-08-24 4:57 ID:q0aTWACX

>>23
I can crank out a good 5wpm with my cock.

Name: Anonymous 2007-08-24 5:14 ID:ytSMXNYA

>>21
Show me an example of some of this ``cutting edge'' technology. The only specimen I could find are located in my kitchen.

I think that a command line with proper editing facilities (read ``M-x shell'') is still, for all its suckiness, the most efficient way to perform most intrinsically non-graphical tasks.

Name: Expert expert programmer 2007-08-24 5:17 ID:kXVseZTN

>>23

A command line is a type of GUI.  It's just designed computers from the 1970s.  Modern GUIs suck for power-users, maybe the ideal interface is like a more powerful command line with layout features, better mouse support, drag and drop, speech recognition, etc.  But there is no reason to limit it to 1970s tech anymore.  The future does not have to be backwards compatible with the 1970s.

Also, what about guys who had their penis cut off.  They might go on the internet and they don't have a penis.

Name: Anonymous 2007-08-24 5:34 ID:ytSMXNYA

>>27
A command line is a type of GUI.  It's just designed computers from the 1970s.
Fuck yeah! Let's generalize words to the point where everything means everything!
Modern GUIs suck for power-users, maybe the ideal interface is like a more powerful command line with layout features, better mouse support, drag and drop, speech recognition, etc.  But there is no reason to limit it to 1970s tech anymore.  The future does not have to be backwards compatible with the 1970s.
I agree with you on this one. But has there been any actual progress on this development?

Name: Expert expert programmer 2007-08-24 5:42 ID:kXVseZTN

>>26

I agree that the command line is more efficient.  I guess I am saying that because GUIs are often pretty bad there is a lot of room for improvement.  So more progress will probably be made on GUI tools than command line tools.

Also, will there always be a separate workflow for non-graphical tasks?  Once the grahical tools get good enough, a lot of people might want to stick to one tool where everything is integrated.

I don't use either, but probably Eclipse and VisualStudio would count as "cutting edge" as far providing GUIs for programming tasks goes.  Hopefully it will get better.

Name: Anonymous 2007-08-24 6:11 ID:ysu9d4H/

>>19
1: Clickfag, enjoy taking 30 minutes to do what I do with a simple find ... | xargs.
2: Achieving Satori doesn't mean you stop learning. It means you managed to fully rationalize process and computing. From there on, you can learn any particularization you want.
3: What the heck, if you can deal with abstraction, assembly or portable assembly (C) is a piece of cake - a sour, disgusting one, but you should be perfectly able to do it, and you better understand what happens behind the scenes when you use high level languages. Else you're a Basicfag bound to fail.
4: One word, the forced indentation of code. For braced languages, K&R is the only true style.
5: Perlfag.
6: Truth. The right tool for the right job.
7: Truth. The right tool for the right job.
8: Truth. The right tool for the right job.
9: Truth. The right tool for the right job.
10: What the fuck, mate.

Name: Anonymous 2007-08-24 6:14 ID:kXVseZTN

>>28
Fuck yeah! Let's generalize words to the point where everything means everything
I guess I should have said "subset of possible GUIs."  It's just the idea that a GUI could act like a command line except with added features.

But has there been any actual progress on this development?
No.  Actually, the closest thing is probably Mathematica or something similar.

Name: Anonymous 2007-08-24 6:16 ID:ysu9d4H/

>>21
GUI is the future
Graphics have their uses - for graphical operations, but they are not good for non-graphical operations such as file and text handling. They are hard to specify, hard to do, and resource-consuming. Even if we don't give a shit about the later:

- Specifying a complex operation, such as find -type d -daystart -mtime +30 | xargs rm -R, is tremendously difficult, due to the terrible lack of expressiveness of GUIs, due to the terribly difficult to do such an expressive interface. And when/if you managed to do support doing all of this in a single operation, you'd see using the GUI would be much harder than just typing the command.

- They are slow to work with. Using my fingers to type just five, five fucking characters, let's assume all letters, all latin and all lowercase, I have access to 11881376 items - commands, files, whatever they may be. That's over 6 times the number of pixels in a 1600×1200 screen, and of course, you can't possibly point and click to single pixels; you have to use much larger clusters; 8×8 in the VERY least. Access to commands and files, especially those you know, is much easier with text than graphics. Moreover, you can learn specific finger movements to get every frequent command or perform every frequent operation, which you can never do with your hand because the mouse has state and high precision. You can also type much faster than you can point and click.

- They can't be scripted, which means they fail. You have to click your way all the time; you don't even have simple macros. And if there are scripting systems, they are either rudimentary and of little use, or tremendously difficult and cumbersome to use, because they are bound to depend on specifying geometry, or to depend on a huge ass bloated object hierarchy.

>>23
Lol

>>27
Try FAR Manager or Midnight Commander. Especially the former, though Windows/Wine only, is the best file manager I could find. You get instant visualization, a command line and console (unlike mc), you save the time to type the source and destiny directories (thanks to two panels), you can do an assload of operations with simple, reasonably intuitive or customizable key combinations (which you do even faster than you type commands), and if you want to waste your time, you can use a mouse, but nobody would want to.

Name: Anonymous 2007-08-24 6:28 ID:kXVseZTN

>>30
2. OK.  I was thinking of "I achieved Satori so I don't need to program any more" fags.
4. True.
5. I was thinking of Scheme-weenies and Postfix-weenies who think having NO syntax is some magical advantage.  Perl is not "a little bit" of syntax.
10. Over-engineering.  i.e.  "I needed to save a file, so I wrote a file saving library and I realized that files might be on the network so I made a virtual file class and then I made a virtual file class delegate to handle notifications and..." and pretty soon the ocean is boiled and everyone dies.

Name: Expert expert programmer 2007-08-24 6:43 ID:kXVseZTN

>>32

They can't be scripted, which means they fail.
Scripting is probably best in Smalltalk where everything lives in the same image.  AppleScript lets some apps "record" a series of actions and then the generated script can be edited (if you are willing to touch AppleScript).  But yeah, there isn't a good solution yet.

Name: Anonymous 2007-08-24 7:25 ID:zB0FFcbh

GUI IS THE FUTURE

Name: Anonymous 2007-08-24 7:56 ID:RFvB4ZQi

Commandlines were designed in the 70s when computers did not have GUI capability.  This is true.  Computers are pretty much the same way they were in the 70s, except more and faster.

When you strip away all layers of abstraction, CPUs are serial stream processors.  Everything is always: do { read, process, output } while !EOF.  Multicore/multi-CPUs can just handle multiple streams, but each individual stream is always handled serially.  Computers are serial in nature.  So is the commandline.  Until that basic aspect changes, the commandline will always be with us.

Name: Anonymous 2007-08-24 7:57 ID:ysu9d4H/

>>33
Overengineering is one thing, and an evil one. I would say premature generalization is not only harmless but the way things need to be done. You generalize as soon as possible to work less. The evil lies in overgeneralization, i.e. Java shit.

Name: Anonymous 2007-08-24 8:34 ID:zB0FFcbh

>>36 HAVE FUN EDITING DIGITAL PICTURES WITH COMMAND LINES 'DUE TO THEIR SERIAL NATURE'.

GUI IS THE FUTURE.

Name: Anonymous 2007-08-24 9:27 ID:jPTtBtTH

>>38
Imagemagick.

Name: Anonymous 2007-08-24 10:19 ID:aUA89GW4

11. Expert programmers TROLL /prog/, not use it, not post on it.

Name: Anonymous 2007-08-24 11:15 ID:uh2ATRP7

>>39
When I saw >>38 I just knew some fuckwit would eventually respond with Imagemagick. Wrong answer.

Name: Anonymous 2007-08-24 11:23 ID:1LGaEhzH

42 get

Name: Anonymous 2007-08-24 13:47 ID:q0aTWACX

>>42
You got it!

Name: Anonymous 2007-08-24 14:26 ID:Heaven

>>43
Hello, Mr Goatwax

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