Any programmers out here?
bheid wrote:
What language do you use, and why?
My primary actual programming language is currently Java, because that's what they pay me to use and because I can develop pretty quickly with it. It offers a high level of abstraction and takes care of some of the nitty gritty details (e.g. garbage collection) but still offers a low enough level of control to make it easy for me to customize things that I want to tweak. Also, because it has (in my opinion) the best documentation available (in the form of the Head First series of books). It's also got a strong user community (www.javaranch.com) and well organized documentation online. (This isn't to say that other languages like C/C++ don't have some of the same things going for them; it's just that if they do I haven't yet found them ). Also, it's very portable.
In addition, in my job I'm working on developing very dynamic web applications (trying to make them resemble desktop applications in look and feel and responsiveness) so I do a lot of JavaScript programming (and draw heavily upon the Dojo framework). There's also some JSP and HTML and SQL and so on involved, but I wouldn't really call those programming languages (though JSP comes close)
My first language was BASIC (on a 486, if I remember right ), but it wasn't until I figured out pointers in C (ridiculously handy variables that hold memory addresses) that I really started to get it. I still have a tendency to idealize C/C++ for the amazing level of control that you can have with them. The drawback is that it is much more complex at those levels (which is a big part of why Java development is so much faster for me--for example, I don't have to be an expert on the TCP/IP communication stack to send something across the network with Java).
I'm also tinkering or have done work in the past with the following:
Ruby a little bit (has a lot of potential, but not sure how thoroughly I'll end up adding it to my repertoire).
Scheme (so I can write scripts for the GIMP, a lot of fun and incredibly useful; I can automate things that I want to do often).
Visual Basic for Applications (VBA). This was a lot of fun for me to play with also (though it had several moments of being very frustrating as well). It's great for making MS Office applications do things that they were never intended for
PHP (for personal web application development--trying to keep myself at least a little diverse
And a smattering of other random things
Quote:
How often, when finding a simple solution to a problem, do you say: "I'm a ****ing idiot." loud enough for people to nod their heads in affirmation?
Almost never (the exception being when I realize that the solution I had previously implemented was, in fact, stupid--i.e. it did not work at all and/or broke other parts of the program/process). Usually when I find a simple solution to a problem, I gush about how ****ing beautiful and elegant it is and try to find other places in my code that I can improve in a similar way.
Quote:
Do you use it to make complex applications, or just shortcut programs?
Whatever it is I need to help me accomplish what I am trying to do. As another member mentioned, things usually start out fairly basic and then grow into more complex programs as I (or the other dev team or requirements team members) think of more features that would make it more useful.
Quote:
And finally; why did you learn to program?
Probably initially because I wanted to write video games (something that, in all somethingsomething years that I've been programming, I have yet to actually create ). After I started to get into it, though, I got hooked on the problem-solving aspect and the craftsmanship of the whole thing. Some people spend years learning how to build high-precision wooden clocks, practicing and honing their skills in both the functional and aesthetic aspects of woodworking. It's sort of similar for me. I like elegant code--by which I do not mean cramming as much logic into a single line as possible. To me, elegant code is as simple as possible, easily readable by someone with a reasonable amount of experience, and is still as efficient as possible. It's not really an absolute state so much as an ideal for which to strive.
And there are so many awesome things you can do with it!
For me, it's kind of like getting to play with Tinker Toys or Erector Sets all day ^_^
bheid wrote:
What language do you use, and why?
I recently learned Python (It ticked me off at first since it's been recommended as a beginners language, but I soon found it was quite powerful.), so that's what I've been using for a while.
PHP is useful for certain web-development aspects.
Since C/C++ is widely used it's useful for modifying applications.
I currently don't have a "main" programming language that I concentrate on, I just use what's best for the task at hand.
bheid wrote:
How often, when finding a simple solution to a problem, do you say: "I'm a ****ing idiot." loud enough for people to nod their heads in affirmation?
Not often, but it happens if I check the program logic for half an hour just to find out I had a typo somewhere.
bheid wrote:
Do you use it to make complex applications, or just shortcut programs?
Complex applications. I use Bash for shortcuts.
bheid wrote:
And finally; why did you learn to program?
Initially because I wanted to do nifty levels for a game. I jumped to C++ after that so I could write standalone applications.
bheid wrote:
What language do you use, and why?
How often, when finding a simple solution to a problem, do you say: "I'm a ****ing idiot." loud enough for people to nod their heads in affirmation?
Do you use it to make complex applications, or just shortcut programs?
And finally; why did you learn to program?
How often, when finding a simple solution to a problem, do you say: "I'm a ****ing idiot." loud enough for people to nod their heads in affirmation?
Do you use it to make complex applications, or just shortcut programs?
And finally; why did you learn to program?
I prefer C++.
I have used C, C++, Basic, Visual Basic, Pascal, Java, Javascript, HTML, Perl, and Windows MFC + API. Really wanna learn Lisp, Python, and Ruby. Started learning some OpenGL in C++ a while back but lost motivation.
There usually aren't other people around when I program, so if I say anything it's not loud enough for others to hear. Though I typically think through a program in my head before I ever touch a keyboard.
I guess my programs lean more towards complex than short. Right now I'm working on a physics engine to present for my senior project so I can get my Bachelors Degree. And by working on I mean thinking about.
My first experience with programming was copying basic programs out of the Boy Scout Boy's Life magazines. Anything computer related comes easy to me, so I kept up with it. In my college classes I was always the only person who understood recursion. I use it too much, too. Was in an ACM programming contest one year and did all my solutions with recursion. Only programs on my team that worked.
_________________
Air·is·water·with·holes·in·it. Think·honk·if·you're·a·telepath. Never·call·a·man·a·fool.·Borrow·from·him. A·tautology·is·a·thing·which·is·tautological. Hi!·I'm·a·.signature·virus!·Copy·me·into·your·~/.signature·to·help·me·spread!
Jameson wrote:
My first experience with programming was copying basic programs out of the Boy Scout Boy's Life magazines.
I used to copy stuff out of magazines too. I think it was the "3-2-1 Contact" magazine but I'm not sure. They were really long Basic programs. I used to just enter all the lines of code and (not having an IDE) just hope that it worked, then started swearing when it didn't It was good debugging experience though.
I'm a scientist and my programming style is rather practical. I used to prefer to learn one programming language very well and apply it on most of the problems. I started to learn C when I was 10 year old. I can remember, that it was weird, because my classmates were doing their first steps with Basic and Pascal and the students at the university were stucked with Fortran. Now I see, that it was one of the best decisions of my life, as far as my knowledge is applicable even today, 12 years after.
Of course, C is not enough for today and I'm already experimenting with Java and Python. We will see, but Java seems too slow for me. I guess the best approach is to wrap C codes with Python.