Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
TiMBuS
Sep 25, 2007

LOL WUT?

ppp posted:

use perl 6

Adbot
ADBOT LOVES YOU

double sulk
Jul 2, 2010

just gonna leave this here

http://forums.somethingawful.com/showthread.php?threadid=3189022&pagenumber=92&perpage=40#post403147800

newreply.php
Dec 24, 2009

Pillbug
really though programming languages have never mattered, its about availbale libraries and frameworks, and putting those to use in a well-architected system

post some UML bitches

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde
UML is yesterday's buzzword, agile my agile pls

newreply.php
Dec 24, 2009

Pillbug

Gazpacho posted:

UML is yesterday's buzzword, agile my agile pls

lmao yea maybe if fartz.app is the most complex thing you ever write, gotta have class/entity diagrams and flowcharts at some point to keep an overview of the sit

just dont let pm's, or anyone that doesn't know how to code, make them

TiMBuS
Sep 25, 2007

LOL WUT?

every time i structure a program and decide on how it should work and build the framework and classes and all that poo poo, something changes or happens where i end up having to patch around all of my rigid, perfectly laid out ideal basecode, and end up with something worse than if i just made a monolithic single file program with globals everywhere.
so then after i write all the meat code i go back and remake the skeleton to fit the meat.
its like figuring out a puzzle backwards and i feel bad every time

Sapozhnik
Jan 2, 2005

Nap Ghost

quote:

UML

:stare:

quote:

Haskell

Ah yes, functional programming.

I think I'll bake a cake. How do you think I formulate this problem in my head:

1. Grab bowl and ingredients, start the oven heating up in the background
2. Add flour, sugar, eggs, etc to bowl
3. Stir until consistent
4. Wait for oven to get hot if it isn't already
5. Insert dough into oven, wait X minutes

or:

Let F(tau, xi, aleph, B, W, w1, w2, n) be a regular functional of the third kind from the domain of all functions on the finite Abelian field blah blah blah blah blah p.s. monads

yeah no

vapid cutlery
Apr 17, 2007

php:
<?
"it's george costanza" ?>
yea thats why i like prolog i just ask for a baked cake and it happens. pwned

newreply.php
Dec 24, 2009

Pillbug
you can do it the java way and just get a pre-baked cake in the free cake store

TiMBuS
Sep 25, 2007

LOL WUT?

newreply.php posted:

you can do it the java way and just get a pre-baked cake in the free cake store

yea but then i have to decide on a design pattern to shoehorn all my awful cakefactorys into

vapid cutlery
Apr 17, 2007

php:
<?
"it's george costanza" ?>
gas

TiMBuS
Sep 25, 2007

LOL WUT?

but i havent even goten to talk about perl6 yet...

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

Gazpacho posted:


homercles
Feb 14, 2010

threads are hard

actor frameworks! actor frameworks! developers!
i wrote one in java using ØMQ, every inter-thread message requires a syscall. the way of the future folks :tipshat:

Sapozhnik
Jan 2, 2005

Nap Ghost
um doesn't setting a condition variable require a syscall? :confused:

0MQ looks kinda kewl tho

0xB16B00B5
Aug 24, 2006

by Y Kant Ozma Post

ahhh spiders posted:

yea thats why i like prolog i just ask for a baked cake and it happens. pwned

it just takes 24 hours

TiMBuS
Sep 25, 2007

LOL WUT?

cake cooked sous-vide for 72 hours at 68 degrees C.

homercles
Feb 14, 2010

i suppose if the lock is already held then maybe. fior this thing, 2 or 3 syscalls are required at the least, it writes a byte for each inproc message, maybe selects over the unix socketpairs, reads. my java programs are now like a series of tubes. and if you don't understand, those tubes can be filled and if they are filled, when you put your message in, it gets in line and it's going to be delayed by anyone that puts into that tube enormous amounts of material, enormous amounts of material.

http://www.perlfoundation.org/perl6/index.cgi?perl_6_job_listings

lookin good

newreply.php
Dec 24, 2009

Pillbug
perl is not a programming language, plz stay on topic

TiMBuS
Sep 25, 2007

LOL WUT?

you should bookmark that. in the future it will b ethe only programming job site, because no other languages are needed

0xB16B00B5
Aug 24, 2006

by Y Kant Ozma Post
I'm fluent in HTML and CSS. What's everyone else's favorite language?

MononcQc
May 29, 2007

Janin posted:

this is easily solved by spending more than like twenty minutes learning the language

*blanket statement applicable to everything in the world*

tef
May 30, 2004

-> some l-system crap ->

homercles posted:

threads are hard

I should have spelled this out earlier: Shared mutable state is hard, ok? In the sense of doing it correctly and effectively.



quote:

actor frameworks! actor frameworks! developers!
i wrote one in java using ØMQ, every inter-thread message requires a syscall. the way of the future folks :tipshat:

classy! have you seen this for them javas? http://code.google.com/p/disruptor/

0xB16B00B5
Aug 24, 2006

by Y Kant Ozma Post
too bad erlang's string handling can't be solved no matter how much time you put into it

who wants to parse strings in 2012? not i, says the erlang coder

tef
May 30, 2004

-> some l-system crap ->

MononcQc posted:

*blanket statement applicable to everything in the world*

I have been informed that haskell is easier if you understand category theory first.

0xB16B00B5
Aug 24, 2006

by Y Kant Ozma Post

Wikipedia posted:

Category theory is an area of study in mathematics that examines in an abstract way the properties of particular mathematical concepts, by formalising them as collections of objects and arrows (also called morphisms, although this term also has a specific, non category-theoretical sense), where these collections satisfy some basic conditions


haha no

tef
May 30, 2004

-> some l-system crap ->

tinselt0wn posted:

haha no



Necc0
Jun 30, 2005

by exmarx
Broken Cake
facade patterns forever. put off dealing with lovely code every day.

Shaggar
Apr 26, 2006

ahhh spiders posted:

haskell is stupid and no one uses it, thank god

Shaggar
Apr 26, 2006

ahhh spiders posted:

it's loving stupid to think this sorry. bye

Shaggar
Apr 26, 2006

rotor posted:

lmao if your program isn't simply a collection of smaller single-purpose programs that talk to each other using character streams that can have their parallelism managed by the os

:barf:

Shaggar
Apr 26, 2006

My Linux Rig posted:

yeah was about to say that too

how the gently caress are threads that hard

autism brains are single threaded so they dont get it

tef
May 30, 2004

-> some l-system crap ->
I just don't deal with quaint little problems that fit on one little machine :3:

tef
May 30, 2004

-> some l-system crap ->
threads? here's a nickel, buy yourself a real concurrency model :smugdog:

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug

tef posted:

threads? here's a nickel, buy yourself a real concurrency model :smugdog:

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug
"i have a trivially parallelizable problem but no library to automatically shard my application based on the number of nodes in my cluster" - somebody using the wrong language

MononcQc
May 29, 2007

tinselt0wn posted:

too bad erlang's string handling can't be solved no matter how much time you put into it

who wants to parse strings in 2012? not i, says the erlang coder

There are 5 types of strings in Erlang:

  • A list of bytes (0..255), usable for ASCII, Latin-1, etc.
  • A binary blob (obviously of bytes), usable for ASCII, Latin-1, etc.
  • A list of Unicode code points. No encoding, just raw values for code points. Can be automatically converted to any required UTF encoding.
  • A binary blob (obviously of bytes), corresponding to UTF-8, UTF-16, UTF-32.
  • IOlists, which is a mix of lists and binaries for the purpose of avoiding costly functional operations. Where [$a,$b,$c] is equivalent to "abc", [[$a,$b,$c],$d] is an IOList that can be used to output "abcd" (note that [$a,$b] is an alternative syntax of "ab"). Similarly for [[$a,$b,$c],<<"d">>], which is a list string and a binary string put together in an IOList. The IOList is expected to be set in bytes, and not codepoints, unlike the Unicode lists. All functions of the language that handle output can handle iolists.

Furthermore:
  • There are standard library functions for string handling supporting: list of bytes (0..255), some binaries, and some general IOList use. The general supported level is for ASCII and Latin-1 encoded strings.
  • There are functions to convert from and to any of the 5 formats above.
  • There is no standard library function to handle Unicode normalization, grapheme clustering, locale-dependent capitalization, or standard algorithms on Unicode strings or UTF encoded binaries. They are mostly supported as a blob of data you need to pass to other pieces of a system. You need to get an external package such as UX, or a few others I'm too lazy to link to, to do it for you.
  • Full Unicode support with standard library resources are expected around release R16 of the language, which should be December 2012 per Ericsson timelines. They are usually right on schedule regarding these things.

That's about the state of affairs as I know it regarding strings and different standards and encodings.

P.S. Interestingly enough, the IOList format is actually fairly nice for Unicode string handling when it comes to things such as grapheme clusters. I can represent "é" as either [16#65,16#301] or [16#E9]. A string like "héllo" could contain the former form as a grapheme cluster using a list such as [$h,[101,204,129],$e,$l,$l,$o] (where 101,204,129 is the UTF8 encoding the cluster), allowing for interesting character-based control even using Unicode to do it. Whether this system will be used or not is left to be seen.

MononcQc fucked around with this message at 15:02 on Apr 30, 2012

homercles
Feb 14, 2010

tef posted:

I should have spelled this out earlier: Shared mutable state is hard, ok? In the sense of doing it correctly and effectively.

classy! have you seen this for them javas? http://code.google.com/p/disruptor/
oh i agree, i wasted much of 2011 relearning that and now i'm burnt out.

disrupter looks cool, I was happily using ArrayBlockingQueue for some handrolled stuff, hopefully i can find a use for this

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome
UML is great if your handing off a spec to unwashed jabbering foreigners who don't speak english and not a goddamn thing else

Adbot
ADBOT LOVES YOU

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug

rotor posted:

UML is great if your handing off a spec to unwashed jabbering foreigners who don't speak english and not a goddamn thing else

UML sequence diagrams are unironically great for explaining how REST APIs work

(goatse.cx is great for explaining the bad xml kind shaggar likes)

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply