Do any exist? I've been looking for something like a high level C. The closest thing is probably Lua, but that's obviously unacceptable. Plus Lua is more C++ and less C. I liked Perl, but Perl 6 is not so good and has left a bad taste in my mouth.
Let's see, for non-ASM/C/C++ non-GC languages, we have:
pre-Algol-68 (no heap)
BASICs when ignoring the string table, Integer and embedded system BASICs
COBOL (ALLOCATE / FREE)
Forth (ALLOCATE / FREE)
Fortran (ALLOCATE / DEALLOCATE),
Modula-2 (NEW / DISPOSE) but not Modula-2+, Modula-3, Oberon
Objective-C with GC disabled (alloc / new / copy / release)
PL/I (ALLOC / FREE)
Pascal (NEW / DISPOSE / setLength / .create / .destroy)
PostScript Level 1 (no heap?) but not Level 2
RPG (ALLOC / %ALLOC / DEALLOC)
GC but some optional manual memory management?
AutoHotkey (VarSetCapacity)
D had delete but deprecated
Factor ((malloc) / (free), previously malloc)
Object REXX only (RexxAllocateMemory / RexxFreeMemory)
PureBasic (AllocateMemory / FreeMemory)
R (rm)
Retro (allot)
ZX Spectrum BASIC (CLEAR)
>>21 which could be accomplished easily with a script that compiles c with namespaces to c with name mangling.
Name mangling is utter bullshit for anything meant to be interfaced with.
Name:
Anonymous2011-12-06 15:27
dead? U -> U,n? || (and U.Mask TileMasks.Dead)!=0
targetable? U -> U && U.Parent,n?
selectable? U -> U,dead?,n? && U,targetable? && U.HP,pos?
center U -> U.Tile + U.Size%%2
centerDisp U -> U.Disp +16U.Size-[16 16]
distanceToPlayer XY -> abs XY - Units,ThisPlayer,center
prettyName U -> U.UIName || sym (subst "_" " " U.Type,str)
unitUiColor U -> U.Owner==ThisPlayer |> #00FF00 :: Tints.(U.Color)
hp100 U -> H:U.HP (H-U.Hits)*100%%H
actGT N O -> NP:N.Prio OP:O.Prio -> OP<NP || OP==NP && O.Forced,n?
order O U -> O,sym? |> O=:UTs.'O -> Id:(U,xs? |> U.Id :: U)
-> actGT O Orders.'Id |> Orders.'Id=:O -> U
unitSay S U -> U,int? |> U=:Units,U -> D:n
-> S:U.Sounds.(S,([N I] -> D=:I -> N; S->S))
-> snd\play (D|>S,D::S,pick) Volume=1.0-U.Tile,distanceToPlayer/24
act O U -> O,sym? |> O=:UTs.'O -> !O.Dst || U.Id -> !O.Range || U.Range || 1
-> U.Path |> U.Path=:n -> U.Act=:O
units Is -> map ?,(I:int?->Units,I; U->U) Is
anim A U -> U.Anim =: (U.Anims.'A||U.Anims.Still)
swapAnim D S U -> UTs.(U.Type).Anims.'S |> U.Anims.'D=:It :: U
ruleMove U A T -> canMoveTo T.Tile U
ruleBoard U A T -> T.Transport && T.Owner==U.Owner
doBoard U => @!Trans 'hide [U.Act.Dst U.Id] -> U.Act=:n
doUnloadSelf U => @!Trans 'show U.Id -> U.Act=:n
produce C U HP=n
-> O:[@UTs.Producing O=Cycle T=(max 1 24C.Time%%32) Last=Cycle Cost=C]
-> HP |> (-> U.Hits=:U.HP-1 -> O.AddHP=:U.HP/O.T) -> U.Incomplete=:y -> act O U
ruleBuild U A T -> buildRect T.Tile U UTs.(A.What) | all 'y?
>>90 Not if mangling is sane.
Just put Average_insertValue instead of insertValue__7AverageFv and I won't care about. Don't people write glRotatef instead of gl::rotate(float) anyways?
Name:
Anonymous2011-12-06 17:30
GC is great, Lisp/C++ is for faggots.
Name:
Anonymous2011-12-06 18:37
>>83
You call all those languages shit, then have the gal to tell the OP to use C++?
>>108
The first thing I coded was a silly chess game inside a Word 97 document with VBA macros and forms. It's sad that I needed to read books to learn C and C++ though.
Name:
Anonymous2011-12-07 23:07
wanting to use /g/ speak on /prog/
not going back to /g/
What is this board? L33t kids who accidentally clicked a link to /prog/ someone posted on /g/ in school and think of themselves as cool programmers?