- Zombywuf
- Mar 29, 2008
-
|
Flobbster posted:
"Perhaps?" I thought this was an obvious truism.
That doesn't stop the fact that most programmers are unaware of it.
|
#
?
Dec 1, 2009 15:37
|
|
- Adbot
-
ADBOT LOVES YOU
|
|
#
?
Apr 27, 2024 15:02
|
|
- Filburt Shellbach
- Nov 6, 2007
-
Apni tackat say tujay aaj mitta juu gaa!
|
That image represents almost everything I hate about Perl 6. Wait if unspace is an element then it is complete.
|
#
?
Dec 1, 2009 15:44
|
|
- Zombywuf
- Mar 29, 2008
-
|
Filburt Shellbach posted:
That image represents almost everything I hate about Perl 6. Wait if unspace is an element then it is complete.
I wonder what the equivalent would look like for Haskell...
|
#
?
Dec 1, 2009 15:51
|
|
- PT6A
- Jan 5, 2006
-
Public school teachers are callous dictators who won't lift a finger to stop children from peeing in my plane
|
Zombywuf posted:
That doesn't stop the fact that most programmers are unaware of it.
It's significantly more difficult than it sounds, too. A good portion of the 3rd- and 4th-year students in my classes can't code anything non-trivial in a non-OO, non-garbage collected language without bitching, moaning and failure, since they're so used to Java. Never mind switching to something significantly more foreign, like a functional language of any type.
|
#
?
Dec 1, 2009 16:06
|
|
- Opinion Haver
- Apr 9, 2007
-
|
Zombywuf posted:
I wonder what the equivalent would look like for Haskell...
Well, what do you classify as a function vs an operator? That list obviously doesn't have stuff like split, substr, etc, which is nevertheless in core perl 6.
Opinion Haver fucked around with this message at 16:22 on Dec 1, 2009
|
#
?
Dec 1, 2009 16:19
|
|
- Filburt Shellbach
- Nov 6, 2007
-
Apni tackat say tujay aaj mitta juu gaa!
|
yaoi prophet posted:
Well, what do you classify as a function vs an operator? That list obviously doesn't have stuff like split, substr, etc, which is nevertheless in core perl 6.
"print" is in the table as an example of all the list operators (aka functions)
|
#
?
Dec 1, 2009 16:27
|
|
- shrughes
- Oct 11, 2008
-
(call/cc call/cc)
|
Zombywuf posted:
I wonder what the equivalent would look like for Haskell...
Probably like some graphical, better-organized version of this list.
Control.Category
(.) composition
(<<<) left-to-right composition
(>>>) right-to-left composition
Control.Arrow
(***) splitter
(&&&) fanout
(^>>) function precomposition
(>>^) function postcomposition
(<<^) right-to-left function precomposition
(^<<) right-to-left function postcomposition
(<+>) ArrowPlus
(+++) conditional split
(|||) fanin
Control.Applicative
(<*>) sequential application
(<|>) alternative
(<$>) fmap
(<$) replace
(*>) discard first
(<*) discard second
(<**>) reverse application
Control.Monad
(>>=) sequential composition
(>>) discard first
(=<<) reversed sequential composition
(>=>) left-to-right Kleisli composition
(<=<) right-to-left Kleisli composition
Control.Parallel.Strategies
(>|) evaluate before
(>||) evaluate in parallel
($|) sequential function applictaion
($||) parallel function application
(.|) sequential function composition
(.||) parallel function composition
(-|) sequential right-to-left function composition
(-||) parallel right-to-left function composition
Data.Array.IArray
(!) indexing
(//) update
Data.Array.Parallel and children
(+:+) concatenation
($:) closure application
($:^) lifted lifted closure application
($!) indexing
(+++) stream concatenation
(^+++^) undocumented stream something
(>:) who the gently caress cares for unlifted arrays
(^+:+^) some crazy poo poo for unlifted arrays
(!:^) unlifted sequential array indexing
(+:+^) unlifted sequential array concatenation
(^+:+^) some other concatenation
Data.Bits
(.&.) bitwise and
(.|.) bitwise or
Data.Bool
(&&) logical and
(||) logical or
Data.Complex
(:+) build complex number
Data.Eq
(==) equals
(/=) not equals
Data.Function
(.) function composition
($) function application
Data.IntMap
(!) lookup
(\\) set difference
Data.IntSet
(\\) set difference
Data.List
(:) list cons
(++) list concatenation
(!!) list indexing
(\\) list difference
Data.Map
(!) lookup
(\\) set difference
Data.Ord
(<) less than
(>=) greater than or equal to
(>) greater than
(<=) less than or equal to
Data.Ratio
(%) make ratio
Data.Sequence
(<|) sequence cons
(|>) sequence snoc
(><) sequence concatenation
Data.Set
(\\) set difference
Prelude
(+) add
(*) multiply
(-) subtract
(/) divide
(**) floating exponent
(^) non-negative exponent
(^^) integral exponent
($!) strict function application
System.Filepath
(</>) combine filepaths
(<.>) add file extension
Test.HUnit
(@?) assert
(@=?) assert equal
(@?=) assert equal with expected on right side
(~?) make test case
(~=?) make test case on equality assertion
(~?=) make test case on equality assertion with expected on right side
(~:) label test
Test.QuickCheck
(==>) implies
Text.Html and Text.Xhtml
(<<) convert to html and apply
(+++) concatenate html
(<->) connect html table beside
(</>) connect html table above
Text.ParserCombinators.Parsec
(<?>) label
(<|>) alternative
Text.ParserCombinators.Parsec.Perm
(<||>) builds permutation parser
(<$$>) builds permutation parser differently
(<|?>) builds permutation parser differently
(<$?>) builds permutation parser differently
Text.ParserCombinators.ReadP and .ReadPrec
(+++) symmetric choice
(<++) exclusive left-biased choice
Text.PrettyPrint.HughesPJ
(<>) beside
(<+>) beside with space
($$) above with overlapping
($+$) above with no overlapping
Text.Regex.Posix
(=~) match regex
(=~~) match regex in monad
|
#
?
Dec 1, 2009 17:20
|
|
- Blotto Skorzany
- Nov 7, 2008
-
He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip
|
Filburt Shellbach posted:
That image represents almost everything I hate about Perl 6. Wait if unspace is an element then it is complete.
Yeah my expectations went down quite a bit looking at that poo poo
|
#
?
Dec 1, 2009 20:38
|
|
- Milotic
- Mar 4, 2009
-
9CL apologist
-
Slippery Tilde
|
PT6A posted:
It's significantly more difficult than it sounds, too. A good portion of the 3rd- and 4th-year students in my classes can't code anything non-trivial in a non-OO, non-garbage collected language without bitching, moaning and failure, since they're so used to Java. Never mind switching to something significantly more foreign, like a functional language of any type.
Some people's brains just don't work certain ways. My first ever programming language was Haskell, and my first introduction to thinking in 'computer science' terms and reasoning about a problem in a manner that you can break it down into programmatic chunks. 6 years on, I'm still rubbish at it. Problems that I can easily solve in an OO/procedural language are a nightmare for me in Haskell.
Not everyone can be a Charles Atlas programmer that effortlessly (or indeed with effort) grasps every programming paradigm. As long as I don't apply for a job as a quant, I think I can get away with not being able to hack functional programming.
|
#
?
Dec 2, 2009 01:19
|
|
- Reformed Pissboy
- Nov 6, 2003
-
|
nah
Reformed Pissboy fucked around with this message at 20:41 on May 7, 2015
|
#
?
Dec 2, 2009 02:17
|
|
- BattleMaster
- Aug 14, 2000
-
|
Wait, contrary to what the chair says he does create a Time object. He just seems to have completely misunderstood what a constructor is for.
|
#
?
Dec 2, 2009 02:21
|
|
- Reformed Pissboy
- Nov 6, 2003
-
|
BattleMaster posted:
Wait, contrary to what the chair says he does create a Time object. He just seems to have completely misunderstood what a constructor is for.
I think he meant in the processing of the input. He technically creates objects, but they aren't ever used. The actual work of the program eschews using any objects and relies on global variables and imperative-style programming.
(The chair also does all of his teaching in C so he may not be 100% clear on how C++ behaves w/r/t object instantiation.)
|
#
?
Dec 2, 2009 02:39
|
|
- jandrese
- Apr 3, 2007
-
by Tiny Fistpump
|
poopgiggle posted:Also, this: "Most of you have seen me wobbling around with a cane. I tell you it's arthritis, but really I've just used C too many times.
I love this line.
|
#
?
Dec 2, 2009 03:50
|
|
- oldkike
- Jan 10, 2003
-
hey
www.pleasegimmeadollar.com
|
code:bool isStuffSame(Object a1, Object a2)
{
set<pair<int,int>> s1 = a1.getStuff();
set<pair<int,int,>> s2 = a2.getStuff();
bool isSame = true;
if (s1.size() == s2.size())
{
set<pair<int,int>>::iterator it1 = s1.begin();
set<pair<int,int>>::iterator it2 = s2.begin();
for (; it1 != s1.end; it1++)
{
if (it1->first != it2->first || it1->second != it2->second)
{
isSame = false;
break;
}
}
}
else
{
isSame = false;
}
return isSame;
}
Saw this today at work.. laughed for a good minute
|
#
?
Dec 2, 2009 04:22
|
|
- Mustach
- Mar 2, 2003
-
In this long line, there's been some real strange genes. You've got 'em all, with some extras thrown in.
|
Yet again, "single point of return" is shown to be a symptom of mental illness.
|
#
?
Dec 2, 2009 06:40
|
|
- Zombywuf
- Mar 29, 2008
-
|
Mustach posted:
Yet again, "single point of return" is shown to be a symptom of mental illness.
I think you missed something.
it2 is not incremented
|
#
?
Dec 2, 2009 11:40
|
|
- seiken
- Feb 7, 2005
-
hah ha ha
|
True, but that's surely an unintentional bug and therefore not (quite) so much of a coding horror.
|
#
?
Dec 2, 2009 13:01
|
|
- Zombywuf
- Mar 29, 2008
-
|
seiken posted:
True, but that's surely an unintentional bug and therefore not (quite) so much of a coding horror.
Maybe, there are a number of other bugs in that code, I'm assuming it wasn't copy/pasted.
|
#
?
Dec 2, 2009 13:06
|
|
- newsomnuke
- Feb 25, 2007
-
|
This was already posted in the Dwarf Fortress thread, but it deserves to be posted here as well. If ToadyOne ever releases the source, this is the kind of code you can expect to find:
code:char standardstringentry(string &str,int maxlen,unsigned long flag)
{
unsigned char entry=255;
if(flag & STRINGENTRY_LETTERS)
{
if(gview.keypress(INTERFACEKEY_STRING_A097))entry='a';
if(gview.keypress(INTERFACEKEY_STRING_A098))entry='b';
if(gview.keypress(INTERFACEKEY_STRING_A099))entry='c';
if(gview.keypress(INTERFACEKEY_STRING_A100))entry='d';
if(gview.keypress(INTERFACEKEY_STRING_A101))entry='e';
if(gview.keypress(INTERFACEKEY_STRING_A102))entry='f';
if(gview.keypress(INTERFACEKEY_STRING_A103))entry='g';
if(gview.keypress(INTERFACEKEY_STRING_A104))entry='h';
if(gview.keypress(INTERFACEKEY_STRING_A105))entry='i';
if(gview.keypress(INTERFACEKEY_STRING_A106))entry='j';
if(gview.keypress(INTERFACEKEY_STRING_A107))entry='k';
if(gview.keypress(INTERFACEKEY_STRING_A108))entry='l';
if(gview.keypress(INTERFACEKEY_STRING_A109))entry='m';
if(gview.keypress(INTERFACEKEY_STRING_A110))entry='n';
if(gview.keypress(INTERFACEKEY_STRING_A111))entry='o';
if(gview.keypress(INTERFACEKEY_STRING_A112))entry='p';
if(gview.keypress(INTERFACEKEY_STRING_A113))entry='q';
if(gview.keypress(INTERFACEKEY_STRING_A114))entry='r';
if(gview.keypress(INTERFACEKEY_STRING_A115))entry='s';
if(gview.keypress(INTERFACEKEY_STRING_A116))entry='t';
if(gview.keypress(INTERFACEKEY_STRING_A117))entry='u';
if(gview.keypress(INTERFACEKEY_STRING_A118))entry='v';
if(gview.keypress(INTERFACEKEY_STRING_A119))entry='w';
if(gview.keypress(INTERFACEKEY_STRING_A120))entry='x';
if(gview.keypress(INTERFACEKEY_STRING_A121))entry='y';
if(gview.keypress(INTERFACEKEY_STRING_A122))entry='z';
if(gview.keypress(INTERFACEKEY_STRING_A065))entry='A';
if(gview.keypress(INTERFACEKEY_STRING_A066))entry='B';
if(gview.keypress(INTERFACEKEY_STRING_A067))entry='C';
if(gview.keypress(INTERFACEKEY_STRING_A068))entry='D';
if(gview.keypress(INTERFACEKEY_STRING_A069))entry='E';
if(gview.keypress(INTERFACEKEY_STRING_A070))entry='F';
if(gview.keypress(INTERFACEKEY_STRING_A071))entry='G';
if(gview.keypress(INTERFACEKEY_STRING_A072))entry='H';
if(gview.keypress(INTERFACEKEY_STRING_A073))entry='I';
if(gview.keypress(INTERFACEKEY_STRING_A074))entry='J';
if(gview.keypress(INTERFACEKEY_STRING_A075))entry='K';
if(gview.keypress(INTERFACEKEY_STRING_A076))entry='L';
if(gview.keypress(INTERFACEKEY_STRING_A077))entry='M';
if(gview.keypress(INTERFACEKEY_STRING_A078))entry='N';
if(gview.keypress(INTERFACEKEY_STRING_A079))entry='O';
if(gview.keypress(INTERFACEKEY_STRING_A080))entry='P';
if(gview.keypress(INTERFACEKEY_STRING_A081))entry='Q';
if(gview.keypress(INTERFACEKEY_STRING_A082))entry='R';
if(gview.keypress(INTERFACEKEY_STRING_A083))entry='S';
if(gview.keypress(INTERFACEKEY_STRING_A084))entry='T';
if(gview.keypress(INTERFACEKEY_STRING_A085))entry='U';
if(gview.keypress(INTERFACEKEY_STRING_A086))entry='V';
if(gview.keypress(INTERFACEKEY_STRING_A087))entry='W';
if(gview.keypress(INTERFACEKEY_STRING_A088))entry='X';
if(gview.keypress(INTERFACEKEY_STRING_A089))entry='Y';
if(gview.keypress(INTERFACEKEY_STRING_A090))entry='Z';
}
if(flag & STRINGENTRY_SPACE)
{
if(gview.keypress(INTERFACEKEY_STRING_A032))entry=' ';
}
if(gview.keypress(INTERFACEKEY_STRING_A000))entry='\x0';
if(flag & STRINGENTRY_NUMBERS)
{
if(gview.keypress(INTERFACEKEY_STRING_A048))entry='0';
if(gview.keypress(INTERFACEKEY_STRING_A049))entry='1';
if(gview.keypress(INTERFACEKEY_STRING_A050))entry='2';
if(gview.keypress(INTERFACEKEY_STRING_A051))entry='3';
if(gview.keypress(INTERFACEKEY_STRING_A052))entry='4';
if(gview.keypress(INTERFACEKEY_STRING_A053))entry='5';
if(gview.keypress(INTERFACEKEY_STRING_A054))entry='6';
if(gview.keypress(INTERFACEKEY_STRING_A055))entry='7';
if(gview.keypress(INTERFACEKEY_STRING_A056))entry='8';
if(gview.keypress(INTERFACEKEY_STRING_A057))entry='9';
}
if(flag & STRINGENTRY_SYMBOLS)
{
if(gview.keypress(INTERFACEKEY_STRING_A000))entry=0;
if(gview.keypress(INTERFACEKEY_STRING_A001))entry=1;
if(gview.keypress(INTERFACEKEY_STRING_A002))entry=2;
if(gview.keypress(INTERFACEKEY_STRING_A003))entry=3;
if(gview.keypress(INTERFACEKEY_STRING_A004))entry=4;
if(gview.keypress(INTERFACEKEY_STRING_A005))entry=5;
if(gview.keypress(INTERFACEKEY_STRING_A006))entry=6;
if(gview.keypress(INTERFACEKEY_STRING_A007))entry=7;
if(gview.keypress(INTERFACEKEY_STRING_A008))entry=8;
if(gview.keypress(INTERFACEKEY_STRING_A009))entry=9;
if(gview.keypress(INTERFACEKEY_STRING_A010))entry=10;
if(gview.keypress(INTERFACEKEY_STRING_A011))entry=11;
if(gview.keypress(INTERFACEKEY_STRING_A012))entry=12;
if(gview.keypress(INTERFACEKEY_STRING_A013))entry=13;
if(gview.keypress(INTERFACEKEY_STRING_A014))entry=14;
if(gview.keypress(INTERFACEKEY_STRING_A015))entry=15;
if(gview.keypress(INTERFACEKEY_STRING_A016))entry=16;
if(gview.keypress(INTERFACEKEY_STRING_A017))entry=17;
if(gview.keypress(INTERFACEKEY_STRING_A018))entry=18;
if(gview.keypress(INTERFACEKEY_STRING_A019))entry=19;
if(gview.keypress(INTERFACEKEY_STRING_A020))entry=20;
if(gview.keypress(INTERFACEKEY_STRING_A021))entry=21;
if(gview.keypress(INTERFACEKEY_STRING_A022))entry=22;
if(gview.keypress(INTERFACEKEY_STRING_A023))entry=23;
if(gview.keypress(INTERFACEKEY_STRING_A024))entry=24;
if(gview.keypress(INTERFACEKEY_STRING_A025))entry=25;
if(gview.keypress(INTERFACEKEY_STRING_A026))entry=26;
if(gview.keypress(INTERFACEKEY_STRING_A027))entry=27;
if(gview.keypress(INTERFACEKEY_STRING_A028))entry=28;
if(gview.keypress(INTERFACEKEY_STRING_A029))entry=29;
if(gview.keypress(INTERFACEKEY_STRING_A030))entry=30;
if(gview.keypress(INTERFACEKEY_STRING_A031))entry=31;
if(gview.keypress(INTERFACEKEY_STRING_A032))entry=32;
if(gview.keypress(INTERFACEKEY_STRING_A033))entry=33;
if(gview.keypress(INTERFACEKEY_STRING_A034))entry=34;
if(gview.keypress(INTERFACEKEY_STRING_A035))entry=35;
if(gview.keypress(INTERFACEKEY_STRING_A036))entry=36;
if(gview.keypress(INTERFACEKEY_STRING_A037))entry=37;
if(gview.keypress(INTERFACEKEY_STRING_A038))entry=38;
if(gview.keypress(INTERFACEKEY_STRING_A039))entry=39;
if(gview.keypress(INTERFACEKEY_STRING_A040))entry=40;
if(gview.keypress(INTERFACEKEY_STRING_A041))entry=41;
if(gview.keypress(INTERFACEKEY_STRING_A042))entry=42;
if(gview.keypress(INTERFACEKEY_STRING_A043))entry=43;
if(gview.keypress(INTERFACEKEY_STRING_A044))entry=44;
if(gview.keypress(INTERFACEKEY_STRING_A045))entry=45;
if(gview.keypress(INTERFACEKEY_STRING_A046))entry=46;
if(gview.keypress(INTERFACEKEY_STRING_A047))entry=47;
if(gview.keypress(INTERFACEKEY_STRING_A048))entry=48;
if(gview.keypress(INTERFACEKEY_STRING_A049))entry=49;
if(gview.keypress(INTERFACEKEY_STRING_A050))entry=50;
if(gview.keypress(INTERFACEKEY_STRING_A051))entry=51;
if(gview.keypress(INTERFACEKEY_STRING_A052))entry=52;
if(gview.keypress(INTERFACEKEY_STRING_A053))entry=53;
if(gview.keypress(INTERFACEKEY_STRING_A054))entry=54;
if(gview.keypress(INTERFACEKEY_STRING_A055))entry=55;
if(gview.keypress(INTERFACEKEY_STRING_A056))entry=56;
if(gview.keypress(INTERFACEKEY_STRING_A057))entry=57;
if(gview.keypress(INTERFACEKEY_STRING_A058))entry=58;
if(gview.keypress(INTERFACEKEY_STRING_A059))entry=59;
if(gview.keypress(INTERFACEKEY_STRING_A060))entry=60;
if(gview.keypress(INTERFACEKEY_STRING_A061))entry=61;
if(gview.keypress(INTERFACEKEY_STRING_A062))entry=62;
if(gview.keypress(INTERFACEKEY_STRING_A063))entry=63;
if(gview.keypress(INTERFACEKEY_STRING_A064))entry=64;
if(gview.keypress(INTERFACEKEY_STRING_A065))entry=65;
if(gview.keypress(INTERFACEKEY_STRING_A066))entry=66;
if(gview.keypress(INTERFACEKEY_STRING_A067))entry=67;
if(gview.keypress(INTERFACEKEY_STRING_A068))entry=68;
if(gview.keypress(INTERFACEKEY_STRING_A069))entry=69;
if(gview.keypress(INTERFACEKEY_STRING_A070))entry=70;
if(gview.keypress(INTERFACEKEY_STRING_A071))entry=71;
if(gview.keypress(INTERFACEKEY_STRING_A072))entry=72;
if(gview.keypress(INTERFACEKEY_STRING_A073))entry=73;
if(gview.keypress(INTERFACEKEY_STRING_A074))entry=74;
if(gview.keypress(INTERFACEKEY_STRING_A075))entry=75;
if(gview.keypress(INTERFACEKEY_STRING_A076))entry=76;
if(gview.keypress(INTERFACEKEY_STRING_A077))entry=77;
if(gview.keypress(INTERFACEKEY_STRING_A078))entry=78;
if(gview.keypress(INTERFACEKEY_STRING_A079))entry=79;
if(gview.keypress(INTERFACEKEY_STRING_A080))entry=80;
if(gview.keypress(INTERFACEKEY_STRING_A081))entry=81;
if(gview.keypress(INTERFACEKEY_STRING_A082))entry=82;
if(gview.keypress(INTERFACEKEY_STRING_A083))entry=83;
if(gview.keypress(INTERFACEKEY_STRING_A084))entry=84;
if(gview.keypress(INTERFACEKEY_STRING_A085))entry=85;
if(gview.keypress(INTERFACEKEY_STRING_A086))entry=86;
if(gview.keypress(INTERFACEKEY_STRING_A087))entry=87;
if(gview.keypress(INTERFACEKEY_STRING_A088))entry=88;
if(gview.keypress(INTERFACEKEY_STRING_A089))entry=89;
if(gview.keypress(INTERFACEKEY_STRING_A090))entry=90;
if(gview.keypress(INTERFACEKEY_STRING_A091))entry=91;
if(gview.keypress(INTERFACEKEY_STRING_A092))entry=92;
if(gview.keypress(INTERFACEKEY_STRING_A093))entry=93;
if(gview.keypress(INTERFACEKEY_STRING_A094))entry=94;
if(gview.keypress(INTERFACEKEY_STRING_A095))entry=95;
if(gview.keypress(INTERFACEKEY_STRING_A096))entry=96;
if(gview.keypress(INTERFACEKEY_STRING_A097))entry=97;
if(gview.keypress(INTERFACEKEY_STRING_A098))entry=98;
if(gview.keypress(INTERFACEKEY_STRING_A099))entry=99;
if(gview.keypress(INTERFACEKEY_STRING_A100))entry=100;
if(gview.keypress(INTERFACEKEY_STRING_A101))entry=101;
if(gview.keypress(INTERFACEKEY_STRING_A102))entry=102;
if(gview.keypress(INTERFACEKEY_STRING_A103))entry=103;
if(gview.keypress(INTERFACEKEY_STRING_A104))entry=104;
if(gview.keypress(INTERFACEKEY_STRING_A105))entry=105;
if(gview.keypress(INTERFACEKEY_STRING_A106))entry=106;
if(gview.keypress(INTERFACEKEY_STRING_A107))entry=107;
if(gview.keypress(INTERFACEKEY_STRING_A108))entry=108;
if(gview.keypress(INTERFACEKEY_STRING_A109))entry=109;
if(gview.keypress(INTERFACEKEY_STRING_A110))entry=110;
if(gview.keypress(INTERFACEKEY_STRING_A111))entry=111;
if(gview.keypress(INTERFACEKEY_STRING_A112))entry=112;
if(gview.keypress(INTERFACEKEY_STRING_A113))entry=113;
if(gview.keypress(INTERFACEKEY_STRING_A114))entry=114;
if(gview.keypress(INTERFACEKEY_STRING_A115))entry=115;
if(gview.keypress(INTERFACEKEY_STRING_A116))entry=116;
if(gview.keypress(INTERFACEKEY_STRING_A117))entry=117;
if(gview.keypress(INTERFACEKEY_STRING_A118))entry=118;
if(gview.keypress(INTERFACEKEY_STRING_A119))entry=119;
if(gview.keypress(INTERFACEKEY_STRING_A120))entry=120;
if(gview.keypress(INTERFACEKEY_STRING_A121))entry=121;
if(gview.keypress(INTERFACEKEY_STRING_A122))entry=122;
if(gview.keypress(INTERFACEKEY_STRING_A123))entry=123;
if(gview.keypress(INTERFACEKEY_STRING_A124))entry=124;
if(gview.keypress(INTERFACEKEY_STRING_A125))entry=125;
if(gview.keypress(INTERFACEKEY_STRING_A126))entry=126;
if(gview.keypress(INTERFACEKEY_STRING_A127))entry=127;
if(gview.keypress(INTERFACEKEY_STRING_A128))entry=128;
if(gview.keypress(INTERFACEKEY_STRING_A129))entry=129;
if(gview.keypress(INTERFACEKEY_STRING_A130))entry=130;
if(gview.keypress(INTERFACEKEY_STRING_A131))entry=131;
if(gview.keypress(INTERFACEKEY_STRING_A132))entry=132;
if(gview.keypress(INTERFACEKEY_STRING_A133))entry=133;
if(gview.keypress(INTERFACEKEY_STRING_A134))entry=134;
if(gview.keypress(INTERFACEKEY_STRING_A135))entry=135;
if(gview.keypress(INTERFACEKEY_STRING_A136))entry=136;
if(gview.keypress(INTERFACEKEY_STRING_A137))entry=137;
if(gview.keypress(INTERFACEKEY_STRING_A138))entry=138;
if(gview.keypress(INTERFACEKEY_STRING_A139))entry=139;
if(gview.keypress(INTERFACEKEY_STRING_A140))entry=140;
if(gview.keypress(INTERFACEKEY_STRING_A141))entry=141;
if(gview.keypress(INTERFACEKEY_STRING_A142))entry=142;
if(gview.keypress(INTERFACEKEY_STRING_A143))entry=143;
if(gview.keypress(INTERFACEKEY_STRING_A144))entry=144;
if(gview.keypress(INTERFACEKEY_STRING_A145))entry=145;
if(gview.keypress(INTERFACEKEY_STRING_A146))entry=146;
if(gview.keypress(INTERFACEKEY_STRING_A147))entry=147;
if(gview.keypress(INTERFACEKEY_STRING_A148))entry=148;
if(gview.keypress(INTERFACEKEY_STRING_A149))entry=149;
if(gview.keypress(INTERFACEKEY_STRING_A150))entry=150;
if(gview.keypress(INTERFACEKEY_STRING_A151))entry=151;
if(gview.keypress(INTERFACEKEY_STRING_A152))entry=152;
if(gview.keypress(INTERFACEKEY_STRING_A153))entry=153;
if(gview.keypress(INTERFACEKEY_STRING_A154))entry=154;
if(gview.keypress(INTERFACEKEY_STRING_A155))entry=155;
if(gview.keypress(INTERFACEKEY_STRING_A156))entry=156;
if(gview.keypress(INTERFACEKEY_STRING_A157))entry=157;
if(gview.keypress(INTERFACEKEY_STRING_A158))entry=158;
if(gview.keypress(INTERFACEKEY_STRING_A159))entry=159;
if(gview.keypress(INTERFACEKEY_STRING_A160))entry=160;
if(gview.keypress(INTERFACEKEY_STRING_A161))entry=161;
if(gview.keypress(INTERFACEKEY_STRING_A162))entry=162;
if(gview.keypress(INTERFACEKEY_STRING_A163))entry=163;
if(gview.keypress(INTERFACEKEY_STRING_A164))entry=164;
if(gview.keypress(INTERFACEKEY_STRING_A165))entry=165;
if(gview.keypress(INTERFACEKEY_STRING_A166))entry=166;
if(gview.keypress(INTERFACEKEY_STRING_A167))entry=167;
if(gview.keypress(INTERFACEKEY_STRING_A168))entry=168;
if(gview.keypress(INTERFACEKEY_STRING_A169))entry=169;
if(gview.keypress(INTERFACEKEY_STRING_A170))entry=170;
if(gview.keypress(INTERFACEKEY_STRING_A171))entry=171;
if(gview.keypress(INTERFACEKEY_STRING_A172))entry=172;
if(gview.keypress(INTERFACEKEY_STRING_A173))entry=173;
if(gview.keypress(INTERFACEKEY_STRING_A174))entry=174;
if(gview.keypress(INTERFACEKEY_STRING_A175))entry=175;
if(gview.keypress(INTERFACEKEY_STRING_A176))entry=176;
if(gview.keypress(INTERFACEKEY_STRING_A177))entry=177;
if(gview.keypress(INTERFACEKEY_STRING_A178))entry=178;
if(gview.keypress(INTERFACEKEY_STRING_A179))entry=179;
if(gview.keypress(INTERFACEKEY_STRING_A180))entry=180;
if(gview.keypress(INTERFACEKEY_STRING_A181))entry=181;
if(gview.keypress(INTERFACEKEY_STRING_A182))entry=182;
if(gview.keypress(INTERFACEKEY_STRING_A183))entry=183;
if(gview.keypress(INTERFACEKEY_STRING_A184))entry=184;
if(gview.keypress(INTERFACEKEY_STRING_A185))entry=185;
if(gview.keypress(INTERFACEKEY_STRING_A186))entry=186;
if(gview.keypress(INTERFACEKEY_STRING_A187))entry=187;
if(gview.keypress(INTERFACEKEY_STRING_A188))entry=188;
if(gview.keypress(INTERFACEKEY_STRING_A189))entry=189;
if(gview.keypress(INTERFACEKEY_STRING_A190))entry=190;
if(gview.keypress(INTERFACEKEY_STRING_A191))entry=191;
if(gview.keypress(INTERFACEKEY_STRING_A192))entry=192;
if(gview.keypress(INTERFACEKEY_STRING_A193))entry=193;
if(gview.keypress(INTERFACEKEY_STRING_A194))entry=194;
if(gview.keypress(INTERFACEKEY_STRING_A195))entry=195;
if(gview.keypress(INTERFACEKEY_STRING_A196))entry=196;
if(gview.keypress(INTERFACEKEY_STRING_A197))entry=197;
if(gview.keypress(INTERFACEKEY_STRING_A198))entry=198;
if(gview.keypress(INTERFACEKEY_STRING_A199))entry=199;
if(gview.keypress(INTERFACEKEY_STRING_A200))entry=200;
if(gview.keypress(INTERFACEKEY_STRING_A201))entry=201;
if(gview.keypress(INTERFACEKEY_STRING_A202))entry=202;
if(gview.keypress(INTERFACEKEY_STRING_A203))entry=203;
if(gview.keypress(INTERFACEKEY_STRING_A204))entry=204;
if(gview.keypress(INTERFACEKEY_STRING_A205))entry=205;
if(gview.keypress(INTERFACEKEY_STRING_A206))entry=206;
if(gview.keypress(INTERFACEKEY_STRING_A207))entry=207;
if(gview.keypress(INTERFACEKEY_STRING_A208))entry=208;
if(gview.keypress(INTERFACEKEY_STRING_A209))entry=209;
if(gview.keypress(INTERFACEKEY_STRING_A210))entry=210;
if(gview.keypress(INTERFACEKEY_STRING_A211))entry=211;
if(gview.keypress(INTERFACEKEY_STRING_A212))entry=212;
if(gview.keypress(INTERFACEKEY_STRING_A213))entry=213;
if(gview.keypress(INTERFACEKEY_STRING_A214))entry=214;
if(gview.keypress(INTERFACEKEY_STRING_A215))entry=215;
if(gview.keypress(INTERFACEKEY_STRING_A216))entry=216;
if(gview.keypress(INTERFACEKEY_STRING_A217))entry=217;
if(gview.keypress(INTERFACEKEY_STRING_A218))entry=218;
if(gview.keypress(INTERFACEKEY_STRING_A219))entry=219;
if(gview.keypress(INTERFACEKEY_STRING_A220))entry=220;
if(gview.keypress(INTERFACEKEY_STRING_A221))entry=221;
if(gview.keypress(INTERFACEKEY_STRING_A222))entry=222;
if(gview.keypress(INTERFACEKEY_STRING_A223))entry=223;
if(gview.keypress(INTERFACEKEY_STRING_A224))entry=224;
if(gview.keypress(INTERFACEKEY_STRING_A225))entry=225;
if(gview.keypress(INTERFACEKEY_STRING_A226))entry=226;
if(gview.keypress(INTERFACEKEY_STRING_A227))entry=227;
if(gview.keypress(INTERFACEKEY_STRING_A228))entry=228;
if(gview.keypress(INTERFACEKEY_STRING_A229))entry=229;
if(gview.keypress(INTERFACEKEY_STRING_A230))entry=230;
if(gview.keypress(INTERFACEKEY_STRING_A231))entry=231;
if(gview.keypress(INTERFACEKEY_STRING_A232))entry=232;
if(gview.keypress(INTERFACEKEY_STRING_A233))entry=233;
if(gview.keypress(INTERFACEKEY_STRING_A234))entry=234;
if(gview.keypress(INTERFACEKEY_STRING_A235))entry=235;
if(gview.keypress(INTERFACEKEY_STRING_A236))entry=236;
if(gview.keypress(INTERFACEKEY_STRING_A237))entry=237;
if(gview.keypress(INTERFACEKEY_STRING_A238))entry=238;
if(gview.keypress(INTERFACEKEY_STRING_A239))entry=239;
if(gview.keypress(INTERFACEKEY_STRING_A240))entry=240;
if(gview.keypress(INTERFACEKEY_STRING_A241))entry=241;
if(gview.keypress(INTERFACEKEY_STRING_A242))entry=242;
if(gview.keypress(INTERFACEKEY_STRING_A243))entry=243;
if(gview.keypress(INTERFACEKEY_STRING_A244))entry=244;
if(gview.keypress(INTERFACEKEY_STRING_A245))entry=245;
if(gview.keypress(INTERFACEKEY_STRING_A246))entry=246;
if(gview.keypress(INTERFACEKEY_STRING_A247))entry=247;
if(gview.keypress(INTERFACEKEY_STRING_A248))entry=248;
if(gview.keypress(INTERFACEKEY_STRING_A249))entry=249;
if(gview.keypress(INTERFACEKEY_STRING_A250))entry=250;
if(gview.keypress(INTERFACEKEY_STRING_A251))entry=251;
if(gview.keypress(INTERFACEKEY_STRING_A252))entry=252;
if(gview.keypress(INTERFACEKEY_STRING_A253))entry=253;
if(gview.keypress(INTERFACEKEY_STRING_A254))entry=254;
if(gview.keypress(INTERFACEKEY_STRING_A255))entry=255;
}
if(entry!=255)
{
if(entry=='\x0')
{
if(str.length()>0)str.resize(str.length()-1);
}
else
{
int cursor=str.length();
if(cursor>=maxlen)cursor=maxlen-1;
if(cursor<0)cursor=0;
if(str.length()<cursor+1)str.resize(cursor+1);
if(entry>='a'&&entry<='z'&&(flag & STRINGENTRY_CAPS))str[cursor]=entry+'A'-'a';
else str[cursor]=entry;
}
gview.c=0;
return 1;
}
return 0;
}
|
#
?
Dec 2, 2009 14:27
|
|
- Mustach
- Mar 2, 2003
-
In this long line, there's been some real strange genes. You've got 'em all, with some extras thrown in.
|
Zombywuf posted:
I think you missed something.
I didn't miss anything. There is a 100% chance that if someone structures their code like that, they are sick in the head. Case in point: The equality operator is defined for both sets and pairs, but instead of taking ten seconds to verify that, the guy tried to implement his own version, failed, didn't test it, and checked it in anyhow. If that doesn't qualify for a trip to the hospital for the programmatic-ally insane, I don't know what does.
|
#
?
Dec 2, 2009 14:29
|
|
- BigRedDot
- Mar 6, 2008
-
|
Mustach posted:
There is a 100% chance that if someone structures their code like that, they are sick in the head.
That's just stupid. I've worked at places that had coding standards that mandated SESE. Someone else having a stupid policy that I have to live with doesn't make me sick, or a bad programmer.
|
#
?
Dec 2, 2009 16:04
|
|
- HFX
- Nov 29, 2004
-
|
BigRedDot posted:
That's just stupid. I've worked at places that had coding standards that mandated SESE. Someone else having a stupid policy that I have to live with doesn't make me sick, or a bad programmer.
Single exit doesn't make you a bad programmer even if they do not have that policy. It is only becomes a horror in the context of other code. The horror in that code is that he is not using the comparison operators.
|
#
?
Dec 2, 2009 16:25
|
|
- Mustach
- Mar 2, 2003
-
In this long line, there's been some real strange genes. You've got 'em all, with some extras thrown in.
|
BigRedDot posted:
That's just stupid. I've worked at places that had coding standards that mandated SESE. Someone else having a stupid policy that I have to live with doesn't make me sick, or a bad programmer.
Fine. There is a 100% chance that if someone structures their code like that by their own free will, they are sick in the head.
|
#
?
Dec 2, 2009 16:27
|
|
- Plorkyeran
- Mar 22, 2007
-
To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed
|
HFX posted:
Single exit doesn't make you a bad programmer even if they do not have that policy. It is only becomes a horror in the context of other code. The horror in that code is that he is not using the comparison operators.
If the data structures in use did not have comparison operators and the bug was fixed it'd still be an utterly horrifying piece of code.
|
#
?
Dec 2, 2009 17:00
|
|
- spiritual bypass
- Feb 19, 2008
-
-
Grimey Drawer
|
Doing some maintenance on an old app I don't need to touch very often...
php:<?php
require_once( "../Lib/db/db/db.php" );
?>
|
#
?
Dec 3, 2009 19:12
|
|
- Milotic
- Mar 4, 2009
-
9CL apologist
-
Slippery Tilde
|
rt4 posted:
Doing some maintenance on an old app I don't need to touch very often...
php:<?php
require_once( "../Lib/db/db/db.php" );
?>
As someone who touched php once in the dim and distant past, could you give a more detailed explanation as to why this is bad please? The folder structure doesn't look ideal, or is this to do with symbolic links or something? That's the only stuff I could glean from a quick trawl through the php manual.
|
#
?
Dec 3, 2009 23:57
|
|
- spiritual bypass
- Feb 19, 2008
-
-
Grimey Drawer
|
The code itself is perfectly fine, I just hate ridiculous directory structures. I giggled a little when I first saw it and figured maybe someone else would, too.
|
#
?
Dec 4, 2009 00:00
|
|
- A A 2 3 5 8 K
- Nov 24, 2003
-
Illiteracy... what does that word even mean?
|
I don't know if it's a good thing or a bad thing that the rest of the code doesn't check the return value for the string "WTF".
code:function sql_field_type(){
if($this->type == TYPE_INT) {
return("INTEGER");
}
else if($this->type == TYPE_FLOAT){
return("MONEY");
}
else if($this->type == TYPE_STRING){
return("VARCHAR(1000)");
}
...
else {
return("WTF");
}
}
But you should really use a constant there because what if in the future someone wanted that function to return "LOL" on failure?
|
#
?
Dec 4, 2009 00:25
|
|
- zootm
- Aug 8, 2006
-
We used to be better friends.
|
It's probably intended to get as far as the database at which point it'll fail because "WTF" isn't a valid data type. Still a horror, though.
I like the "MONEY" type as well although I suppose that'll be a real uninteresting decimal type.
|
#
?
Dec 4, 2009 00:28
|
|
- Sprawl
- Nov 21, 2005
-
I'm a huge retarded sperglord who can't spell, but Starfleet Dental would still take me and I love them for it!
|
zootm posted:
It's probably intended to get as far as the database at which point it'll fail because "WTF" isn't a valid data type. Still a horror, though.
I like the "MONEY" type as well although I suppose that'll be a real uninteresting decimal type.
Its a valid datatype on MSSQL 2005,2008
|
#
?
Dec 4, 2009 00:32
|
|
- Fecotourist
- Nov 1, 2008
-
|
rt4 posted:
Doing some maintenance on an old app I don't need to touch very often...
php:<?php
require_once( "../Lib/db/db/db.php" );
?>
It reminds me of the very special episode of Buck Rogers where Twiki was diagnosed with dyslexia.
|
#
?
Dec 4, 2009 04:42
|
|
- Adbot
-
ADBOT LOVES YOU
|
|
#
?
Apr 27, 2024 15:02
|
|