|
delta9
Active Ingredient
Registered: 10/28/04
Posts: 5,390
Loc: California
Last seen: 13 years, 11 months
|
Statistics time: Programming Languages and Programmers
#6916612 - 05/14/07 07:52 PM (17 years, 5 months ago) |
|
|
How many shroomerites are familiar with programming, at what levels, and uses? Demographics would be interesting. I am sure many of you college students/graduates have at least some experience with a computer science class or two, or possible HTML or other simple formatting language. Apparently a few of us program a lot.
I have been programming in total from my first explorations in English class in middle school using QBASIC for well over ten years now. I most prefer working with C++, which suits my needs for practically everything and it can make use of practically anything else I may need (such as a scripting language, or SQL [through a variety of means], etc). LISP is great fun and my current ventures are various C++/LISP implementations/interfaces/bridges/whathaveyous. It's interesting. Working for other people I generally work in C, C++, PHP and all of them using SQL, HTML, CSS, etc whatever where needed. I have and will worked for other people using everything from Visual Basic, ASP, other M$ specific things to obscure programs written in random or old languages.
All in all, I find it a positive experience for me. I didn't really like the classes I had in school too much; it's much better DOING stuff instead of reinventing the same old things again and again.
What about the rest of you guys? I know there's some Java folk and C/C++ folk around here. I know tons of people play with at least HTML and possibly CSS (good for you!) and maybe ASP or PHP. Come out of the woodwork, just admit it, you've done some programming. Maybe you hated it, or maybe you liked it a little bit; maybe it was useless, maybe it was useful - just go ahead and tell us about it .
-------------------- delta9
|
SymmetryGroup8
It's about theFLOW!
Registered: 02/25/07
Posts: 506
Last seen: 16 years, 8 months
|
Re: Statistics time: Programming Languages and Programmers [Re: delta9]
#6916774 - 05/14/07 08:20 PM (17 years, 5 months ago) |
|
|
hey, programming history huh?
Well I messed around with Qbasic in elementray school. Didn't really start proper programming until college.
I'm an okay programmer. I worked on a Grid-generation/CAD program for M.Engineering at my school. On my spare time I like to do some graphics programming. Although I have not worked on anything major for at least a year (getting rusty bro), reason is I'm currently pursing mathematics full time.
I enjoy c++. The university taught Java as the starting language. Did some assembly programming. Also did some LISP and Prolog. Implemented an interpreter. Did a intro database class, database used was PostgreSQL. I'm a Linux user, do all my programming now in Linux. Although at one point I did use Visual Studios. I think Visual Studio is a decent IDE. As you can see, I'm a pretty typical comp.sci muthafucka. Forgot to mention. For programming on Linux I'm familiar with GNU Autotools, autoconf, automake, libtool etc...
For web I've used PostgreSQL with PHP, css, and html.
Another weird thing we did for the CAD program is we used SWIG to connect the code we wrote in c++ to our GUI written in Python. Overall I thought it kicked ass to write a program like that.
I also program in Scilab. Scilab is a "free" program similar in function to Matlab.
Currently I feel like I need to gain more experience in programming. I need to improve my software engineering skills. I feel I'm yet at the level where I feel comfortable, a place where I have enough skills to bring to the table in a competition among programmers. In other words I still have a lot to learn.
-------------------- Be like water my friend!
Edited by SymmetryGroup8 (05/14/07 08:22 PM)
|
delta9
Active Ingredient
Registered: 10/28/04
Posts: 5,390
Loc: California
Last seen: 13 years, 11 months
|
Re: Statistics time: Programming Languages and Programmers [Re: SymmetryGroup8]
#6916841 - 05/14/07 08:32 PM (17 years, 5 months ago) |
|
|
Ah, and that is the beauty is it not? Active learning. There is always more to learn - and the more you learn, the more you find there's a lot more to learn than you'll ever have to time to mess with.
I also am all linux now, though I can still do work for clients on a windows box if I must, but I heavily discourage it . I decided to format my last windows drive the other day because my server hard drive was dying and needed to be replaced (it's been through a lot). Shit happens.
Postgre is a really good SQL implementation in my opinion, but 99% of people on shared hosting (and even many that aren't) are going to have MySQL. Abstracted SQL is better, but of course, you miss out on some of the nifty details of the implementation. All depends on the need, like everything else. Software engineering is all about trade offs.
I am glad I'm not the only one that enjoys connecting C++ to other programs and languages. It really is a fun way of doing things, huh?
-------------------- delta9
|
phi1618
old hand
Registered: 02/14/04
Posts: 4,102
Last seen: 14 years, 5 months
|
Re: Statistics time: Programming Languages and Programmers [Re: delta9]
#6916944 - 05/14/07 08:51 PM (17 years, 5 months ago) |
|
|
I program Java and C# professionally - PL/SQL, T-SQL, SQL, AJAX, XML, XAML, UML, HTML, TLA, etc., etc. I like C# (particularly 2.0, 3.0) better than Java. I've used Python before (it's fun), and know the rudiments of a variety of other languages. Soon, I'll make time to do some studying - I'll improve my C++ skills, and if I can find good projects to work on I'd like to revisit Scheme (a Lisp dialect) and investigate Erlang - maybe also Smalltalk (probably through Squeak). My first language was BASIC on the C64.
C# isn't unique, but it has some neat features. For example, here's a method that returns an enumeration of all functions that determine if an int num is divisible by n:
public IEnumerable<Predicate<int >> divisible() \\ Method divisible returns Predicate<int> \\ Predicate<int> is a delegate that takes a int argument and returns bool { int n = 0; while (true) { n++; yield return delegate(int num) { return num % n == 0; }; \\ an enumeration can be looped over; each time it's called, it will run the yield return } }
Edit: added some explanation to the code above.
Edited by phi1618 (05/14/07 09:23 PM)
|
delta9
Active Ingredient
Registered: 10/28/04
Posts: 5,390
Loc: California
Last seen: 13 years, 11 months
|
Re: Statistics time: Programming Languages and Programmers [Re: phi1618]
#6917140 - 05/14/07 09:17 PM (17 years, 5 months ago) |
|
|
As long as you're following that design pattern anyway, right? I mean anything that doesn't say it's divisble won't be enumerated, correct?
-------------------- delta9
|
phi1618
old hand
Registered: 02/14/04
Posts: 4,102
Last seen: 14 years, 5 months
|
Re: Statistics time: Programming Languages and Programmers [Re: delta9]
#6917281 - 05/14/07 09:34 PM (17 years, 5 months ago) |
|
|
No, what it enumerates is a series of functions that will determine if a number is divisible. Bear with me for a sec, I know it's stupid - this example is just something to show an enumerator and an anonymous delegate.
Here's how you might use the method (assume divisible() above was declared static, and that n was initialized to 1 rather than 0):
public int smallestDivisor(int num) { int i = 0; foreach(Predicate<int> test in divisible()) { i++; if(test(num)) return i; } }
This method will call each function returned by divisible() on num in turn, until one returns true. Say num = 25, smallestDivisor will return 5. Of course, it will do this by calling 25%2 == 0, 25%3 == 0, etc. until the predicate returns true.
I admit, this is a back-asswards way of solving this particular problem.
|
delta9
Active Ingredient
Registered: 10/28/04
Posts: 5,390
Loc: California
Last seen: 13 years, 11 months
|
Re: Statistics time: Programming Languages and Programmers [Re: phi1618]
#6917394 - 05/14/07 09:48 PM (17 years, 5 months ago) |
|
|
So the predicate function is more like a special template, perhaps, then? As it returns a special function for each iteration, correct? Kinda like macros in Lisp or Scheme, mayhap? (as far as it has some level of code-expansion at run time instead of compile time)
-------------------- delta9
|
phi1618
old hand
Registered: 02/14/04
Posts: 4,102
Last seen: 14 years, 5 months
|
Re: Statistics time: Programming Languages and Programmers [Re: delta9]
#6917454 - 05/14/07 09:57 PM (17 years, 5 months ago) |
|
|
Yes, more like a special template in C++ than macros in Lisp.
Predicate<T> is a predefined type in C#, equivalent to: public delegate bool Predicate<T>(T input);
delegate is a bit like an interface for a method.
|
phi1618
old hand
Registered: 02/14/04
Posts: 4,102
Last seen: 14 years, 5 months
|
Re: Statistics time: Programming Languages and Programmers [Re: delta9]
#6917467 - 05/14/07 10:00 PM (17 years, 5 months ago) |
|
|
Generics in C# are like templates in C++.
For example, List<T> means "a List of type T"
A delegate is a bit like a function pointer.
Edit: I don't think "typed" makes much sense there. A delegate is not a function pointer, but it has some similarities.
A delegate can be a return type, an argument type or a member variable. Delegates with return type void and no ref or out parameters can be multi-cast.
for example:
delegate void WriteSomething(String input);
Class1{ public static void Main() { WriteSomething aMethod = delegate(String input) { Console.WriteLine("This is the A method: " + input) } WriteSomething bMethod = delegate(String input) { Console.WriteLine("This is the B method: " + input) } WriteSomething cMethod = aMethod + bMethod; cMethod("Here's some input"); } }
When the above program is run, the output will be: This is the A method: Here's some input This is the B method: Here's some input
Edited by phi1618 (05/14/07 10:20 PM)
|
phi1618
old hand
Registered: 02/14/04
Posts: 4,102
Last seen: 14 years, 5 months
|
Re: Statistics time: Programming Languages and Programmers [Re: delta9]
#6917645 - 05/14/07 10:34 PM (17 years, 5 months ago) |
|
|
Quote:
(as far as it has some level of code-expansion at run time instead of compile time)
There's no runtime code-expansion here. C# generics (denoted by the <something> notation) are just the same thing as C++ templates. Delegates are basically function pointers.
All .Net languages are first compiled to MSIL, which can then be run by a just-in-time compiler. Unlike Java, it can also be compiled ahead of time. It is possible to generate MSIL in running code (run-time expansion), but I've never done it.
|
delta9
Active Ingredient
Registered: 10/28/04
Posts: 5,390
Loc: California
Last seen: 13 years, 11 months
|
Re: Statistics time: Programming Languages and Programmers [Re: phi1618]
#6917742 - 05/14/07 10:51 PM (17 years, 5 months ago) |
|
|
Smells like a silly halfway hack then (if it took all that to equate them to templates, I mean).
Whatever works! Also, doesn't .NET generally only compile to bytecode much like java or is this not true?
-------------------- delta9
|
phi1618
old hand
Registered: 02/14/04
Posts: 4,102
Last seen: 14 years, 5 months
|
Re: Statistics time: Programming Languages and Programmers [Re: delta9]
#6917822 - 05/14/07 11:04 PM (17 years, 5 months ago) |
|
|
Generics are templates, exactly. However, the example isn't about generics - there's an enumerator and an anonymous method involved, as well. C++ has generics (templates), but C# enumerators are a bit nicer than C++ iterators and C++ doesn't have the equivalent to C# anonymous methods - notice that the returned method has access to it's context, even after other references to that context are gone and the parent object itself is garbage collected.
.Net compiles to bytecode (MSIL). It can be run using a JIT like Java, or (unlike Java) can be compiled ahead of time. Generally, it is pretty fast, but for very performance sensitive work, C is of course preferred.
|
phi1618
old hand
Registered: 02/14/04
Posts: 4,102
Last seen: 14 years, 5 months
|
Re: Statistics time: Programming Languages and Programmers [Re: delta9]
#6918002 - 05/14/07 11:38 PM (17 years, 5 months ago) |
|
|
Here's an example to show C# enumerator:
say we have a tree datastructure composed of Node objects:
public class Node { // some tree stuff, including Children property
public IEnumerable<Node> DepthFirst() { yield return this; foreach(Node child in Root.Children) { yield return child.DepthFirst(); } }
public IEnumerable<Node> BreadthFirst() { Queue<Node> nodeQueue = new Queue<Node>; nodeQueue.Enqueue(this); while(nodeQueue.Count > 0) { yield return GetNextNode(nodeQueue) } }
private Node GetNextNode(Queue<Node> queue) { Node current = queue.Dequeue(); foreach(Node child in current.Children) { queue.Enqueue(child); } return current; } }
Now we can traverse the subtree from a root Node depth first like this: foreach(Node current in root.DepthFirst) { // do something }
or breadth first like this: foreach(Node current in root.BreadthFirst) { // do something }
|
delta9
Active Ingredient
Registered: 10/28/04
Posts: 5,390
Loc: California
Last seen: 13 years, 11 months
|
Re: Statistics time: Programming Languages and Programmers [Re: phi1618]
#6918054 - 05/14/07 11:49 PM (17 years, 5 months ago) |
|
|
Quote:
phi1618 said: public IEnumerable<Node> DepthFirst() { yield return this; foreach(Node child in Root.Children) { yield return child.DepthFirst(); } }
public IEnumerable<Node> BreadthFirst() { Queue<Node> nodeQueue = new Queue<Node>; nodeQueue.Enqueue(this); while(nodeQueue.Count > 0) { yield return GetNextNode(nodeQueue) } }
Having the unamed functions is nice, but going back to my original question, for something to be enumerable, it must make use of the IEnumerator interface in some manner, correct? So basically, it is just their implementation of the iterator pattern, is what I am seeing, though, apparently, not at all what you are getting at?
-------------------- delta9
|
SymmetryGroup8
It's about theFLOW!
Registered: 02/25/07
Posts: 506
Last seen: 16 years, 8 months
|
Re: Statistics time: Programming Languages and Programmers [Re: delta9]
#6918112 - 05/15/07 12:02 AM (17 years, 5 months ago) |
|
|
I'm really tired. But it's interesting nonetheless.
So it's like when you enumerate the function returned is from the last state, making sense?
I'm sure if I was using .net this would be a nice tool to use, although I'm sure it won't do things that would be impossible to do in some other language, they're all universal baby
I can see delgates being nice for event driven programming.
It's all about the design patterns.
One more thing, I remember some M.S guy gave a talk on this exact thing (well it was on ...damn I forgot, I was stoned)...The talk was on ... automatic tools for proof of correctness or some such weirdness...But in the end it turned into let's demo MS products hehe...
-------------------- Be like water my friend!
|
delta9
Active Ingredient
Registered: 10/28/04
Posts: 5,390
Loc: California
Last seen: 13 years, 11 months
|
Re: Statistics time: Programming Languages and Programmers [Re: SymmetryGroup8]
#6918116 - 05/15/07 12:03 AM (17 years, 5 months ago) |
|
|
Yes, design patterns are key and universal. Programming at higher levels is all about concepts.
-------------------- delta9
|
Seuss
Error: divide byzero
Registered: 04/27/01
Posts: 23,480
Loc: Caribbean
Last seen: 1 month, 19 days
|
Re: Statistics time: Programming Languages and Programmers [Re: delta9]
#6918692 - 05/15/07 05:01 AM (17 years, 5 months ago) |
|
|
I started out with BASIC when I was knee high (3rd grade) on an old Tandy 2 computer at Radio Shack on the weekends. By 6th grade I had picked up 8088 assembly because BASIC was too damn slow. I was working on encryption software, namely implementing DES, which was way too slow in BASIC and was told that assembly was the fastest language one could use.
I stuck with BASIC and assembly until late in my high school career when I picked up Turbo Pascal. I had started to get interested in BBS software and almost all of the board software was written in Pascal. I also wanted to learn the language so that I could test out of the first year classes in college. Finally, I had started working with neural networks; BASIC was too slow and the problem too difficult for bug free assembly.
My freshman year in college, I was assigned to help a graduate student as a research assistant. He was working on bin packing software for a military aircraft manufacturer. The project forced me to drop DOS and learn Unix along with the language C. I had a hard time learning C to be honest. I really liked Pascal, and hadn't really learned much about ADTs or the use of pointers.
Around this same time I started to get interested in MUDs (multisuser online dungeon), from the programming side, and started to tear apart AberMUD, the only one that people played at the time. Shortly after getting interested in how they worked, Charles Hannum (mycroft) released a "listener daemon". This was absolutely amazing in my mind, and got me into client/server coding.
Working with MUDs also got me interested in complier theory. A guy (Brian Prebble, I think) at MIT, that ran an AberMUD, had written a new type of MUD though it was never released. I managed to hack into the MIT system and downloaded to code for the mud, called Phoenix. It was a compiler that created data files for the objects in the game. Knowing little about compilers, I set out to learn everything there was to know. A few months later, I had written a LL(k) compiler compiler (including lexical analyzer). A month after that I had written my first compiler capable of generating a .com file (8088 binary) from a pascal like language. (Sophomore year in college).
Around this time I started getting interested in hardware design as well, so I started hanging out at the EE building a lot, pestering the professors until one of them let me work for him programming micro-controllers. I picked up PIC assembly, and learned VHDL (needed to program FPGAs). I also managed to get published in a journal dedicated to FPGA research. This is also where I learned about VLIW and DSP programming.
My work in the EE building caught the attention of some folks that built robots for the mining industry on another part of campus. I started working on software for robotic mining machines when I met the people in explosives research. Yum. Screw software, I'm gonna go blow stuff up for a while. I ended up spending a lot of time working in the explosives research lab, testing experimental explosives for the US military. Loads of fun!
Somewhere in here, I picked up a job working for the US government as a help desk yoyo. I quickly rose up the ranks and was soon a systems analyst in charge of a lot of high end hardware. Back in the days of 20-MB MFM and RLL hard drives, I was working with over 1/4 terrabyte of online and nearline storage. During this time I picked up the various scripting languages used by Unix... things like sed, awk, etc.
Eventually, I rode the internet bubble and ended up leaving the government and starting a private business writing web software. I knew the basics of SQL from college, but had never done any web programming, other than simple HTML and a bit of Java. It didn't take long before I had mastered PHP (at the time it was called PHP-FI) and MySQL.
I used to keep track of all the languages and system types that I have used or learned over time, but the list got unwieldy. Other than Cobol, which I will never admit to having known, I have studied or programmed in pretty much every language ever written for a computer. A quick partial list... Simula67, PDP assembly, ADA, Sparc Assembly, HC11 Assembly, 80x86 Assembly, C/C++ (including STL), objective-C (NeXT/Mac-OSX), Atmel Assmely, PIC Assmebly, Forth (bleck), BASIC, Pascal, Java, Modula3, sed, awk, lex, yacc, csh, sh, perl, tcl/tk, lisp, prolog (very little), php, vhdl, and probably a few that I am forgetting.
I left out a lot of details and some of the other projects I have worked on.
If you are posting code and wish to maintain indentation, use the code tags:
Code:
@implementation - (id)init { if ((self=[super init])!=nil) _MicrosoftSucks=true; return self; } @end
-------------------- Just another spore in the wind.
|
Seuss
Error: divide byzero
Registered: 04/27/01
Posts: 23,480
Loc: Caribbean
Last seen: 1 month, 19 days
|
Re: Statistics time: Programming Languages and Programmers [Re: delta9]
#6918703 - 05/15/07 05:15 AM (17 years, 5 months ago) |
|
|
> Yes, design patterns are key and universal. Programming at higher levels is all about concepts.
I don't agree, completely. Patterns are nice to help design the flow of data within a complex problem. Patterns are also nice for creating a consistent implementation interface. However, I have seen too many people abuse patterns resulting in slow, clunky, buggy, code. Just because a problem fits into a design pattern does not mean that the design pattern is the most efficient design when it comes to implementation.
For example, a friend in college had a class project (software engineering course) to write a program to create a concordance listing from a text file. They were supposed to use all the software engineering tools, design patterns, etc... and then implement their solution. Every single solution I looked at was horrid. Nobody thought through the problem, but instead picked a pattern that was easy to implement and would do the job, forcing the problem to fit the pattern. Sure, the implementation (based upon some random pattern) works great, with a complexity of O(n^n), on small single pages of text, but how does it handle something like a copy of War and Peace.
Don't get me wrong, patterns can be a very powerful tool. I use the MVC pattern all the time. I just think there are a lot of programmers out there that use patterns as a crutch when they have no idea what they are doing and end up creating crap code. I suspect a fair number of these people must work for Microsoft.
-------------------- Just another spore in the wind.
|
SymmetryGroup8
It's about theFLOW!
Registered: 02/25/07
Posts: 506
Last seen: 16 years, 8 months
|
Re: Statistics time: Programming Languages and Programmers [Re: Seuss]
#6919283 - 05/15/07 10:30 AM (17 years, 5 months ago) |
|
|
Wow that' interesting history Seuss. Now where does drugs fit into this picture
I agree with what you said about patterns. I use patterns mostly for top level overall program design, i.e as a tool for designing the program. Of course if you don't know how to use said tool it can be very dangerous.
-------------------- Be like water my friend!
|
delta9
Active Ingredient
Registered: 10/28/04
Posts: 5,390
Loc: California
Last seen: 13 years, 11 months
|
Re: Statistics time: Programming Languages and Programmers [Re: Seuss]
#6920302 - 05/15/07 02:43 PM (17 years, 5 months ago) |
|
|
Quote:
Seuss said: > Yes, design patterns are key and universal. Programming at higher levels is all about concepts.
I don't agree, completely. Patterns are nice to help design the flow of data within a complex problem. Patterns are also nice for creating a consistent implementation interface. However, I have seen too many people abuse patterns resulting in slow, clunky, buggy, code. Just because a problem fits into a design pattern does not mean that the design pattern is the most efficient design when it comes to implementation.
For example, a friend in college had a class project (software engineering course) to write a program to create a concordance listing from a text file. They were supposed to use all the software engineering tools, design patterns, etc... and then implement their solution. Every single solution I looked at was horrid. Nobody thought through the problem, but instead picked a pattern that was easy to implement and would do the job, forcing the problem to fit the pattern. Sure, the implementation (based upon some random pattern) works great, with a complexity of O(n^n), on small single pages of text, but how does it handle something like a copy of War and Peace.
Don't get me wrong, patterns can be a very powerful tool. I use the MVC pattern all the time. I just think there are a lot of programmers out there that use patterns as a crutch when they have no idea what they are doing and end up creating crap code. I suspect a fair number of these people must work for Microsoft.
You don't really disagree with me at all - you just went into far more depth than I!
Like anything, moderation is key. Overuse (and abuse) of design patterns is not a good thing and is very common in people just learning them (or who don't truly understand them); however, it is a somewhat necessary process because through the overuse and abuse one learns when it is a good idea to make use of the patterns and when it is a good idea to leave well enough alone!
I say design patterns are universal and key because of the benefit of communication between developers. Those of us that know them and have experience with them can talk about entire problem sets in clear terms without needing to share common languages or even necessarily domain experience.
Also, design patterns are just that, DESIGN patterns, and generally one should determine in the design phase before any (or at least not very much) coding has occured which patterns if any one will make use of, where, why, and all of that. Writing a bunch of code and then going, "OH I should use the X pattern here" and then rewriting can certainly lead to many many problems (of course, this isn't to say that designs don't change, but if you must make a major design change it is often better to redesign and refactor than try and change a system not meant for a design to work with it).
All of that said, man, I totally agree, Suess that's crazy cool all the stuff you've been into. I am interested in artificial intelligence programming, myself and I am envious of the hardcore nerdiness you got into.
-------------------- delta9
|
funnybunny
Saboten Bomber
Registered: 01/30/06
Posts: 604
Loc: Spain
Last seen: 2 months, 2 days
|
Re: Statistics time: Programming Languages and Programmers [Re: delta9]
#6920325 - 05/15/07 02:48 PM (17 years, 5 months ago) |
|
|
World would be better if only C, Ada, Perl, Haskell, Lisp and FORTRAN existed.
|
Seuss
Error: divide byzero
Registered: 04/27/01
Posts: 23,480
Loc: Caribbean
Last seen: 1 month, 19 days
|
Re: Statistics time: Programming Languages and Programmers [Re: funnybunny]
#6920443 - 05/15/07 03:12 PM (17 years, 5 months ago) |
|
|
> I am envious of the hardcore nerdiness you got into
heh... all you have to do is give up your social life.
-------------------- Just another spore in the wind.
|
delta9
Active Ingredient
Registered: 10/28/04
Posts: 5,390
Loc: California
Last seen: 13 years, 11 months
|
Re: Statistics time: Programming Languages and Programmers [Re: Seuss]
#6920523 - 05/15/07 03:25 PM (17 years, 5 months ago) |
|
|
My girlfriend just broke up with me... check!
-------------------- delta9
|
SymmetryGroup8
It's about theFLOW!
Registered: 02/25/07
Posts: 506
Last seen: 16 years, 8 months
|
Re: Statistics time: Programming Languages and Programmers [Re: delta9]
#6921645 - 05/15/07 07:56 PM (17 years, 5 months ago) |
|
|
welcome to the club bro...
-------------------- Be like water my friend!
|
Seuss
Error: divide byzero
Registered: 04/27/01
Posts: 23,480
Loc: Caribbean
Last seen: 1 month, 19 days
|
Re: Statistics time: Programming Languages and Programmers [Re: funnybunny]
#6923375 - 05/16/07 04:19 AM (17 years, 5 months ago) |
|
|
> World would be better if only C, Ada, Perl, Haskell, Lisp and FORTRAN existed.
Drop ADA, Perl, and Fortran from you list and add in a nice object oriented language, and assembly, and you may be onto something, though I doubt it.
ADA is a horrid language that should have never been made. They should have learned from PL1 that you cannot make a language that does everything for everybody from real time processing to banking. ADA is can do anything, but is so complex that nobody does anything with it. For example, VHDL is a small subset of the ADA language and is used to describe hardware at the gate level... just to show how ADA really can do pretty much anything...
Perl is another horrid language. Write once, read never. Perl is great for writing a quick script to perform an admin task, but it should not be used for large programs. Another gripe I have with perl are the number of ways to do the same thing. This leads to inconsistent implementation and makes it very difficult to follow code (back to write once read never). I do appreciate the support tools that go along with perl; way ahead of their time.
Why on earth would you include fortran in this list? We have moved beyond fixed length parsing and card punch machines. Granted, the new grammars for fortran allow one to get away from fixed length parsing, but still... with C one does not need fortran at all.
I should probably bash Haskell a bit as well, but I am only slightly familiar with the language. It is strong from a theoretical standpoint, but difficult to use because of complexity. I also don't care for the lazy evaluation. Of course, I come from the world of assembly.
-------------------- Just another spore in the wind.
|
SymmetryGroup8
It's about theFLOW!
Registered: 02/25/07
Posts: 506
Last seen: 16 years, 8 months
|
Re: Statistics time: Programming Languages and Programmers [Re: Seuss]
#6924819 - 05/16/07 12:11 PM (17 years, 4 months ago) |
|
|
Yeah Fortran = Fortrash!!!
At the mechanical engineering place where I worked where there is a lot of legacy fortran code no one likes that crap.
The only thing Fortran got going for it is the high performance Fortran. I think Fortran is the only language with build in native support for parallel programming (dont quote me on this tho)...
In my math department's scientific programming course half the course was on Fortran. I think mainly the professor is used to Fortran and the numerical recipe codes available for it. I still don't think that's a good reason because numerical recipe codes have been ported to just above every language under the sun. Maybe native imaginary number support? You know how those math freaks love their imaginary numbers. But fuck that! Or is it the matrix/vector like array manipulations? FUCK THAT! If you want to do scientific computing use fucking Python! It's has native imaginary numbers!!!
I digress... I really hated Fortran.
Fortran 90's object oriented addons are a piece of shit!!!
FUCK FORTRAN!
thanks.
-------------------- Be like water my friend!
|
SymmetryGroup8
It's about theFLOW!
Registered: 02/25/07
Posts: 506
Last seen: 16 years, 8 months
|
Re: Statistics time: Programming Languages and Programmers [Re: SymmetryGroup8]
#6924838 - 05/16/07 12:17 PM (17 years, 4 months ago) |
|
|
But don't quote me on it. I've had minimal contact with Fortran (i.e I don't know what the hell I'm talking about0. I don't like it, but who knows if I used it more I might.
-------------------- Be like water my friend!
|
|