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

Pages: 1-

Lets rebuild prog

Name: Anonymous 2011-08-18 23:07

Hey [spoier]/prog/[/spoiler] I have a fantastic idea! Let's rebuild /prog/! It'll be just like the old days. This time we'll have to make it Web 2.0 compliant. Okay first things first, what language will it be built in?

Name: Anonymous 2011-08-18 23:11

How about BBCODE!

Name: Anonymous 2011-08-18 23:15

either Ruby on Rails or CakePHP

Name: Anonymous 2011-08-18 23:16

I don't know what language the software will be written. But all posts will be written in hipster and lolspeak

Name: Anonymous 2011-08-18 23:20

>>3

He said language not library. I myself think we should code it in LISP to live up to the legacy of /prog/.

Name: Anonymous 2011-08-18 23:33

It should run under the Shiichan monad in a s-expression form of Haskell implemented in a metacircular interpreter of a simple Scheme dialect.

Name: Anonymous 2011-08-19 4:06

>>3
Ruby
- Ruby indulges obfuscation: Ruby has no keyword/optional arguments, so you'll have to use hash parameters as a substitute. This is an idiom that comes from Perl. Ugly, Perl-looking code, like 12.5.integer? or (0..127).each { |n| p n.chr }, considered beautiful. Quirky variable names (because of bad scoping design): @instance_var @@class_var CONSTANT_VAR $global_var &proc $~[1]. If A is [1,2,3] and B is [10,20,30], then A+B is [1,2,3,10,20,30], when you probably wanted [11,22,33]. A good amount of your code will consist of begin end begin begin end end...
- Defective syntax. Ruby cant distinguishing a method call from operator: "a +b" can be both "a(+b)" and "a + b".
- Slow: JIT-compiling implementations exist, but they're still slow and incomplete, due to Ruby's complexity and bad design, which make Ruby difficult to optimize compared to other dynamic languages, like Lisp or Smalltalk. For example, Ruby has to accomodate for somebody in another thread changing the definition of a class spontaneously, forcing compiler to be very conservative. Compiler hints, like `int X` from C/C++ or `declare (int X)` from Lisp, arent possible either.
- Ruby's GC is a naive mark-and-sweep implementation, which stores the mark bit directly inside objects, a GC cycle will thus result in all objects being written to, making their memory pages `dirty` and Ruby's speed proportional to the number of allocated objects. Ruby simply was not designed to support hundred thousand objects allocation per second. Unfortunately, that’s exactly what frameworks like Ruby on Rails do. The more objects you allocate, the more time you "lose" at code execution. For instance something as simple as 100.times{ ‘foo’ } allocates 100 string objects, because strings are mutable and therefore each version requires its own copy. A simple Ruby on Rails ‘hello world’ already uses around 332000 objects.
- Non-othogonal: {|bar| bar.foo}, proc {|bar| bar.foo}, lambda {|bar| bar.foo}, def baz(bar) bar.foo end - all copy the same functionality, where Lisp gets along with only `lambda`
- Ruby (like most other scripting languages) does not require variables to be declared, as (let (x 123) ...) in Lisp or int x = 123 in C/C++. If you want a variable private to a block, you need to pick an unique variable name, holding the entire symbol table in your head. This also means that Ruby can't even detect a trivial typo - it will produce a program, which will continue working for hours until it reaches the typo - THEN go boom and you lost all unsaved data. Local and global scopes are unintuitive. Certain operations (like regular expression operator) create implicit local variables for even more confusion.
- Ruby as a language supports continuations via callcc keyword. Ruby's callcc is incredibly slow, implemented via stack copying. JRuby and IronRuby don't have continuations at all, and it's quite unlikely they will ever get them. There were also support breaches in mainline Ruby, where Ruby 1.9 has not supported continuations for a while. If you want your code to be portable, I'd suggest not using Ruby.
- Syntax problems: Ruby works hard to distinguish method calls from operators, and variable names from method names. Unfortunately, there's no way it can get it right all the time. In this case, "a +b" is parsed as "a(+b)". Remove the space to the left of "+" or add a space to the right of "+," and it will be parsed as an addition. This has nothing to do with indentation. And for what it's worth, Ruby now parses "a +b" the way you'd expect. Which way is that?
- Mostly Rails hype and no outstanding feature, that makes the language, like the brevity of APL or macros of Lisp. "There is some truth in the claim that Ruby doesn’t really give us anything that wasn’t there long ago in Lisp and Smalltalk, but they weren’t bad languages." -- Matthew Huntbach

Name: Anonymous 2011-08-19 4:36

>>1
Why don't you just post interesting and funny threads and posts on this [spoiler}/prog/[/spoiler]?

Name: Anonymous 2011-08-19 5:07

>>8
Why don't you learn some [spoiler]BBCode[spoiler]?

Name: Anonymous 2011-08-19 5:17

>>9
He's making fun of the OP.

Name: Anonymous 2011-08-19 6:09

spoilerprog wouldn't be spoilerprog without the shitty software, the shitty design and the spam.

Name: Anonymous 2011-08-19 6:18

make it in lolcode

Name: Anonymous 2011-08-19 7:03

Yes, write it in Lisp to ensure that it will never, ever work.

Name: Anonymous 2011-08-19 7:52

>>13
Lispnever, ever work
Surely you jest!

Name: Anonymous 2011-08-19 10:01

Prog needs to implement the 2ch-style text board protocol so it can be read in text board readers.

Name: Anonymous 2011-08-19 10:32

|| | ||
|| +-+ ||
|| |O| <------- THIS IS MY CAR.
|| | o-o ||
|| | ||
|| ||
|| ||
|| cdr <------------- THIS IS MY OTHER CAR.
|| | ||
|| ||
|| ||
|| | ||

Name: Anonymous 2011-08-19 10:36

THIS IS MY [i][b][u][o]BBCODE FAILURE THREAD[\i][\b][\u][\o].

Name: Anonymous 2011-08-19 11:03

[i][o][u][b]EXPERT BBCODE FAILING[/b][/u][/o][/i]

Name: Anonymous 2011-08-19 11:53

>>14
Consider this: A pack of wild Lispers.
Autistic, lisping Lispers logging on your network. Trampling your CPUs with their interpreters. Raping your RAM with Emacs.
And you can't do shit since they're autists. The Lisper leader grabs your waifu and fucks her with his wizard cap.
The primal Lispers finally dominate your network. They watch 6.001 lectures on YouTube and you are forced to read their SICP.
Such is the downfall of /prog/.

Name: Anonymous 2011-08-19 11:56

>>19
IF U WERE FLAMED FOR USING LISP TOMORROW, I WOULDNT GO TO UR SUICIDE CUZ ID B N DAT CUNTS HOME N SHOVE SICP DOWN HIS THROAT!

                       //`'''```,
             o        //LISP   `.,
       ,....OOo.   .c;.',,,.'``.,,.`
    .'      ____.,'.//
   / _____  \___/.'
  | / ||  \\---\|
  ||  ||   \\  ||
  co  co    co co

WE TRUE SMUG LISP WEENIES
WE READ SICP TOGETHER
WE COUNT PARENTHESES TOGETHER
send this SUAVE SPACE TOAD to every thread you care about including this one if you care. C how many times you get this, if you get 6001 your A TRUE SMUG LISP WEENIE

Name: Anonymous 2011-08-19 12:17

Will summer ever end?

Name: Anonymous 2011-08-19 15:02

>>21
U mena september

Name: Anonymous 2011-08-20 7:04

Coffeescript! because everything else is either mainstream(e.g. ruby) or broken by design(e.g. lisps)

Name: Anonymous 2011-08-20 7:36

>>23
It doesn't get any jewisher

Name: Anonymous 2011-10-23 20:04

FIOC !!!

Name: Anonymous 2011-10-23 21:06

>>17
On a scale of 1 to 10 just, how much help was Chuck Norris? I mean we all know you had help so just come clean.

Name: Anonymous 2011-10-23 21:06

>>17
On a scale of 1 to 10 just, how much help was Chuck Norris? I mean we all know you had help so just come clean.

Name: Anonymous 2011-10-23 21:06

>>17
On a scale of 1 to 10 just, how much help was Chuck Norris? I mean we all know you had help so just come clean.

Name: Anonymous 2011-10-23 21:17

>>17
On a scale of 1 to 10 just, how much help was Chuck Norris? I mean we all know you had help so just come clean.

Name: Anonymous 2011-10-23 22:48

>>1
http://en.wikipedia.org/wiki/Fjölnir_(programming_language)

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