Posted on 02/02/2013 6:53:38 PM PST by SeekAndFind
This, like "I could care less" instead of "I couldn't care less." is said by people all the time and is actually the opposite of what you mean.
The learning curve is a graph of knowledge acquired vs. time. A "nice" learning curve is steep. A shallow learning curve means you've have been working a very long time and have not acquired very much knowledge.
Tonight's Pedantic MomementTM has been broguht to you by Bristol-Meyers.
PERL is the web application COBOL. It is still used all over the place in legacy apps.
What about JQuery? That is essentially JavaScript, but I’m not sure if it gets considered as JavaScript.
I am a big fan of Apache Wicket to develop Java-based web apps....I can build my HTML file and get all of the CSS goodness worked out in any HTML design app, then code the matching Java class to pop the data onto the page. Writing reusable components is a snap. And it really works well with toolkits, like Twitter Bootstrap.
Well, I am writing most of my Master’s project in python and some c, but I really like C#. It’s one of Microsoft’s better accomplishments.
Regex is one of those things everyone hates, but nobody has ever found anything better to replace it with.
Somebody asked me once if regex was left-brain or right-brain. I told them writing them is right-brain and reading them is left-brain.
Au contraire: http://en.wikipedia.org/wiki/F_Sharp_(programming_language)
FWIW, a residual reason to pay attention to MSFT.
However, most folks in the field will gravitate in the Haskell direction.
Isn't C♭ a little dated? Maybe this will help point you the right direction?
Still around.
And it gets even better. They’re now owned by Micro Focus, most well known in the early PC era for Micro Focus COBOL.
It looks like they’re primarily development tools these days, and still do COBOL. Don’t see anything about Pascal. I know some guys who do smartphone development who use Silk, one of their tools.
For simple things RAD is great; though I believe that it's done a huge disservice to the world -- namely the "code-behind" style. [At least] half of the applications I've had to maintain in C# had the propensity to use labels as a sort of global variable (this possibly in addition to the variable/property that label's value comes from -- introducing sorts of aliasing/synchronization problems).
For my own new development, I try to (a) build the algorithms (and state-machine/-variable interactions) first, then (b) slap the GUI on, displaying what's needed as necessary -- this avoids the problem of making the program overly-dependent on the GUI.
That said, I'm a fan of Delphi, and I can see Ander's [Delphi] influence/experience in C#. So it's not all bad -- but then again, I've been working in Ada on my home projects for a few years and it's a real pain to go back to languages that weren't designed for both correctness and maintainability. One such feature is case-coverage, validating that every possible value in a discrete type (esp. enumerations) appears in a switch-statement, which is impossible in C# because enumerations are really 'int'. (It is technically impossible to implement general case-coverage in C#: the simplest reason being that it allows switch on strings, which can be of arbitrary/unbounded length.)
I've found DataGridView to be a very flexible and easy control to use.
It may be simpler to use [in general practice] than my experience with it has been; but again I am doing upkeep/extension on software likely originally written by someone in a "just get it done" mentality who was unconcerned with maintainability (judging by how the program is structured and the amount of cut-n-paste/code-behinds -- you know, like when the guy has a print button and a preview button and both contain the same code instead of, say, having the same handler attached to both with a little prolog before the main portion determining which option [print or preview] was pushed). -- Given some of what searches turned up regarding some of my troubles it looks like it's not always easy-to-use.
IMO, PHP needs to die. Its fast and loose playing w/ types is, I believe, cause enough for legal liability in any system dealing with finances.
As an example, consider the translation of some numeric string to an integer which is done automatically. If the string's value is "06" or "07" then the integer-result is that number, but if it is "08" or "09" then the resultant integer is 0 -- this is because the translation views the leading 0 as a flag that you are dealing with Octal, and 8 or 9 are not valid octal numbers so the value 0 is returned (indicative of an error in the parsing); it is because this error-value is itself a valid output that there is thus no way to catch the error.
(There are many other problems, but that one lends itself to a short, obvious explanation illustrating the dangers of PHP's design philosophy.)
Or, instead of time it could be "effort/work" (thus payoff vs. effort) and in this case there's a radically different meaning -- indeed it would be [roughly] the transposition of the X and Y coordinates in the aforementioned "knowledge vs. time" (it would be exact iff the ratio of work to time was fixed).
They are fun, aren't they? ;)
Personally, I never left Turbo Pascal for a high-level language. And there's always assembler for important stuff. ;)
TP was pretty good stuff, certainly superior to C/C++ as far as reliability/maintainability go; with the philosophy of detecting errors at the earliest possible point (statically, at compile-time, if possible), means that it is inherently a better choice for developing large systems.
Though I believe Ada to be superior to even TP -- it was designed with reliability and maintainability in mind, looking at both programming-in-the-small (generics, type-attributes, subtyping) and the large (packages [which can be generic], task-types, true spec/body separation)... I find it slightly saddening that more languages forgo [any?] thought on maintainability.
TP became Delphi, which was spun-out/sold-to another company -- I think there was several sales, or talks thereof, because I vaguely remember worries that it would become like WordPerfect -- however, that fear has not been realized as Embarcadero is still around and doing [active] development on the product, IDE, and language... while WP seems to be getting the breadcrumbs left over from Corel's focus on its image/video software.
This is incorrect; Ada has a wonderful generic system.
subprograms can be parametrized on a type (or other functions, ranges, tasks, values, packages, etc.), as can packages themselves; wikipedia has an entry about Ada's generic-system on it's generic programming page.
The consequence of the above is you can make programs with a high amount of safe reuse (decomposing common elements); for example:
Now some people think that the template/metaprogramming ability is more powerful than the generic facility of Ada because it is Turing-complete; this is actually quite a step backward WRT safety -- because it is Turing-complete you can state your problem in the template itself, which is not guaranteed to finish (precisely because it is Turing-complete).
Do you're the person I need to hunt down and kill! [j/k]
But on a more serious note, I absolute loathe regular expressions -- as most of my career has been maintenance/additional-development regex always becomes a pain in the ass.
Example:
The original requirement was validating the phone-number was 7 digits, now it has to be 7-digits w/ the '-' optional in NNN-NNNN form... oh, now we need it to recognize area-codes (NNN)-NNN-NNNN, oh now it also needs to accept NNN-NNN-NNNN... oh, now it needs to understand country codes... oh now it needs to accept the proper format based on the country-code.
*Sigh*
-Author Unknown
A collary, seen recently:
"You have a problem. You decide to solve it using threads. problems Now have two you."
Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.