(no subject)

Date: 2009-05-29 09:52 pm (UTC)
I always assumed that programmers started with the UI and then worked out from there.

The world would be a better place if this were the case, but alas, no; far too much software is written from the perspective of "Algorithm Foo provides an excellent solution to Problem Bar; let's implement it! Oh, I guess we'll have to slap a UI on it to turn it into a tool..."

I am being rather generic in my use of the term "user interface"; by this I mean "whatever the user of the software actually has to touch." For a web browser, a music player, an email application, &c, this is the GUI. For a library, it's the API ("application programming interface", or set of functions which the library makes available for you to use). For a command-line tool, like 'ftp' or 'cd' or 'wget' or whatever, it's the arguments and flags that the user includes when invoking the command, and any special magic about them (cf. my brainfart last week about the ordering of libraries in an 'ld' command). For a programming language, it's the syntax of the language itself.

Another reason for things being done in clunky ways is "well, it's what people are used to, we can't just go reinvent the wheel." For all that C is annoyingly difficult to read, for instance, it's the one programming language that every competent programmer is expected to know. As such, many languages are rather C-like in their syntax, because if you know C, then you can pick up $foo fairly quickly. Java may well be replacing C, given the way that schools teach their CS curricula these days, but apart from the object-orientation and the lack of pointers, Java owes a lot to C syntax-wise as well. It's like we just can't get rid of this legacy that we don't want.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

Profile

maradydd: (Default)
maradydd

September 2010

S M T W T F S
   1234
567891011
12131415 161718
19202122232425
26 27282930  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags