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

I need to vent.

Name: Anonymous 2009-08-10 14:16

French C "programmers" who refuse to read K&R, and rely on some random "tutorials" in the internet. And yes, K&R *was* indeed translated to French as well, and as soon as that fact was pointed out to them, they switch the reason to "it's too complicated lol".

FUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUCKK.

Name: Anonymous 2009-08-11 10:43

I can't think of any way to defend my compatriots on this one.

Go visit http://www.siteduzero.com/ and follow some links. For example here's a random page about Sepples: http://www.siteduzero.com/tutoriel-3-11141-nouveautes-pour-les-variables.html

This is not just some random shitty tutorial site - this is the one of the most popular and respected french-language site used by aspiring programmers to learn their first language. All the content is user-contributed by retarded kids with no quality-checking at all.

Fuck.

Name: Anonymous 2009-08-11 11:04

>>4,6,8,9,10,11,12,20,21,22,23,24,28
From a business perspective, I like that /prog/ manages to encourage its own unique brand. Discouraging /b/ memes helps to keep /prog/ something of its own.

But having said that, the over 9000 meme is one that I particularly enjoy, and have even made references to it in various bits of code. It may even be the most /prog/ meme since it is all about quantifying with a number. Which leads me to wonder...

What is the most /prog/-like meme that we would be comfortable borrowing from /b/? Where do we draw the line?

Name: Anonymous 2009-08-11 11:17

>>42
BOXXY

Name: Anonymous 2009-08-11 11:23

>>43
NO, NO, NO, KILL IT, KILL IT

Name: Anonymous 2009-08-11 11:45

What is the most /prog/-like meme that we would be comfortable borrowing from /b/?
SO I HERD U LIEK CUDDERS

Name: Anonymous 2009-08-11 11:53

Name: =+=*=F=R=O=Z=E=N==V=O=I=D=*=+= !frozEn/KIg 2009-08-11 12:00

>>42 Any meme older than a year.



______________________________________________
http://xs135.xs.to/xs135/09042/av922.jpg
Velox Et Astrum gamedev forum: http://etastrum.phpbb3now.com
When you think of the long and gloomy history of man, you will find that far more, and far more hideous, crimes have been committed in the name of obedience than have ever been committed in the name of rebellion.

Name: Anonymous 2009-08-11 13:06

>>42

DOUBLE NIGGER

Name: Anonymous 2009-08-11 13:07


(cons 'nigger 'nigger)
replicate 2 "NIGGER"


...nah, doesn't do it for me. Next proposal?

Name: Anonymous 2009-08-11 13:24

How about a circular nigger?


#1=('nigger . #1#)


Or would you prefer a more verbose definition?


(let ((infi-nigger (list 'nigger)))
   (setf (cdr infi-nigger) infi-nigger)
   infi-nigger)

Which would by default crash any sane REPL,unless *print-circle* is bound to t, by printing something like:

(NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER
 NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER
 NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER NIGGER
... thousands of lines snipped... (loops forever or exhausts stack/heap depending on implementation)

Name: Anonymous 2009-08-11 13:27

set-mcdr!: expects type <mutable-pair> as 1st argument, given: (); other arguments were: {nigger}

Name: =+=*=F=R=O=Z=E=N==V=O=I=D=*=+= !frozEn/KIg 2009-08-11 13:28

>>49
long cat=9000+1/0; //Combination of longcat,over 9000 and divide by zero.
http://www.encyclopediadramatica.com/Longcat
http://www.encyclopediadramatica.com/Over_9000
http://www.encyclopediadramatica.com/Divide_by_zero



______________________________________
http://xs135.xs.to/xs135/09042/av922.jpg
Velox Et Astrum gamedev forum: http://etastrum.phpbb3now.com
Sometimes the person who is the most logical is the person whom we call insane.

Name: Anonymous 2009-08-11 13:29

>>48
int main() {
    double nigger = (int)"NIGGER";
    printf("%f\n", nigger);
}

Name: Anonymous 2009-08-11 13:39

>>50
*print-circle*
*grabs dick*

Name: Anonymous 2009-08-11 13:42

>>54
LOL WINRAR!

^TOUCHING PENIS^

Name: Anonymous 2009-08-11 23:44

I remember the day /prog/ invaded /b/............

This faggot doesn't: >>47

But its what *they* took from us... our pride... our dignity...

I mean, they gave us the FROZEN VOID.

He's writing ENTERPRISE CLASS CODE.

Name: Anonymous 2009-08-12 0:25

>>56
I remember the day /prog/ invaded /b/.....
ARGGGGGGGAAAAAAAG
keep this shit off of /prog/

Name: Anonymous 2009-08-12 2:05

>>57
You mean off /prog/.1

1 - http://www.grammarbook.com/grammar/probPrep.asp as accessed on 12 AUG 09, 1:05 AM CDT

Name: Anonymous 2009-08-12 3:19

sageru anusu

Name: Anonymous 2009-08-12 3:43

>>41
You know that something about programming is simply not worth reading when it's littered with smilies.

Name: Anonymous 2009-08-12 11:31

>>60
I'd be more concerned about the parts that go like

void maFonction()
{
    // D'abord on déclare les variables
    double prixOrigine = 0.0;
    double prixAchat = 0.0;
    double difference = 0.0;
    FILE* fichier = NULL;
// .....


But it's not just like this in "tutorials". Production code written in English is almost non-existent in software projects initiated by French people or companies.

Name: Anonymous 2009-08-12 12:14

>>61
Take a look at O'Caml, it's written by frenchmen, but has a decent looking codebase. It is however written by academics, not your usual payed coders.

Name: Anonymous 2009-08-12 12:15

>>62
academics
Sounds like it would make a great language for writing fibs

Name: Anonymous 2009-08-12 12:18

>>63
It's pretty good for writing fibs and compilers.

Name: Anonymous 2009-08-12 12:20

>>64
Nice try, only fast languages are good for writing compilers

Name: Anonymous 2009-08-12 12:24

>>65 I didst chortle most heartily.

Name: Anonymous 2009-08-12 12:32

>>65
Not true. I saw a really nice HQ9+ interpreter written in OCaml

Name: Anonymous 2009-08-12 12:33

>>67
I can write a more faithful one in Haskell

Name: Anonymous 2009-08-12 12:42

>>65
O'Caml is actually a very fast language if you use the native code compiler, this is because it's strictly statically typed. You give up in flexibility for speed, same idea as with Haskell. But unlike Haskell, it allows one to write unsafe code directly if one needs to.

Name: Anonymous 2009-08-12 13:36

>>69
I heard there was some stupid problem in the type system that made it unfeasible to use curried functions in OCaml. Is this true or HIBT by simpering Haskell lemurs?

Name: Anonymous 2009-08-12 13:54

>>71
Currying is pretty much embedded into the language. If you specify less arguments to a function, it just returns a closure of the function and those arguments. When all the arguments have been supplied, either directly, or to the closure (to which you can specify more arguments as needed, which will either evaluate the function, or return a new closure if less arguments than needed were supplied), the function is evaluated.
This is explained very early in introductory O'Caml books.
There are some quirks related to the syntax, but I don't see what would break currying in O'Caml.

Name: Anonymous 2009-08-12 23:55

>>71
Well, I heard that it slows things down or something. Yes, it's supported, but it's not as optimized as using an uncurried function or an explicit lambda expression. I've completely forgotten where and when I saw someone complaining about this.

Name: Anonymous 2009-08-12 23:58

>>72
I've looked at the disassembly of some native code compiled O'Caml programs making use of currying and it looked efficient. I'm not aware of whatever quirks existed in old versions.

Someone should do some benchmarks to either confirm or debunk this.

Name: Anonymous 2009-08-13 0:56

i wrote a compiler in Oracle SQL*plus when i was 8 years old

Name: Anonymous 2009-08-13 1:26

>>68
You inspired me. How's this?

import Control.Monad
import Data.Char
import Data.IORef
import IO
import System

beer n = do
  mapM_ putStrLn $
    [bot n ++ otw, bot n, takeone, bot (n - 1) ++ otw ++ "\n"]
  if n == 1 then return () else beer (n - 1)
  where bot 0 = "No more bottles of beer"
        bot 1 = "One bottle of beer"
        bot x = show x ++ " bottles of beer"
        otw = " on the wall"
        takeone = if n == 0
                     then "Go to the store and buy some more"
                     else "Take one down and pass it around"

hello = putStrLn "Hello, world!"
quine src = putStrLn src
accum reg = modifyIORef reg (+1)

main = do
  args <- getArgs
  reg <- newIORef 0
  src <- if null args
            then hGetContents stdin
            else readFile $ head args
  forM_ src $ \c ->
    case toLower c of
      'h' -> hello
      'q' -> quine src
      '9' -> beer 99
      '+' -> accum reg
      _   -> return ()

Name: Anonymous 2009-08-13 1:27

>>75
import Control.Monad
Stopped reading right there.

Name: Anonymous 2009-08-13 1:40

>>76
All I needed was forM_. I could have written forM_ = flip mapM_ instead... Or import Control.Monad (forM_)

Name: Anonymous 2009-08-13 2:01

>>77
>>
Stopped reading right there.

Name: Anonymous 2009-08-13 12:07

>>75
This strikes me as a sub-optimal implementation of "99 Bottles"

Name: Anonymous 2010-11-14 18:00


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