your favorite programming language and why?
i'll start. right now i'm *loving* python/cython. in part i just love python's semantics. it's like writing poetry. i love declaring diddly-squat. i love that if i need to speed up a method i can first write it in python to get everything working together and then rewrite computation-intensive subroutines in C/C++. it's made me a more efficient coder and i can focus on solving big-picture problems instead of plugging memory leaks or chasing pointers. i know python is a scripting language and not a 'true' programming language, but it's a damn powerful scripting language, and i love it.
your turn.
inspired by the 'your favorite registrar and why?' thread.
Recursion
(56,582 posts)Ocaml for lower-level stuff. Forth for very very low-level stuff.
For LISP, I love functional programming (I learned on Logo as a kid), and I think CLOS is the best object system out there. The generalized control-flow special forms are so powerful, and the macro system is itself a Turing-complete language, though that can lead to trouble if you're not careful.
Ocaml makes fast object code. Faster than C, generally. And I love the psuedo-code as code and type-checking.
Forth is just this beautiful little alien world; I don't know how else to say it. I also like Joy, which is a kind of functional version of Forth.
hootinholler
(26,449 posts)Righteous.
Recursion
(56,582 posts)Also, Elizabeth Rather came and lectured in my 4th grade computer class when we were learning Logo, and gave us each a 5.5" floppy disk (remember when they were actually floppy?) with a FORTH system on it.
Coolest moment ever was when I "got" execution tokens.
Phillip McCleod
(1,837 posts)many of my personal projects involve number theoretic algorithms and i have had to go to extreme lengths to find and learn to use various usually slow apfp libs.. all very awkward to use too all the ops are grafted on like an afterthought. i admit i had to look ocaml up on wikipedia, but now i wanna play with it. i'll let you know how that goes.
actually i had to look up forth and joy too, and my only experience with lisp is customizing emacs.
Recursion
(56,582 posts)and arbitrarily precise floats. A lot of mathematicians use LISP; the main system is called MAXIMA or MACSYMA depending on which fork you use -- its symbolics capabilities put Matlab to shame.
Phillip McCleod
(1,837 posts)i've used maxima before but only in the context of sage.
TBA
(830 posts)hootinholler
(26,449 posts)It's how I make my living. Nice enough language and now that we have JPA, CDI and Faces as parts of the JEE spec all you really have to do is wiring and core logic. @Annotations are a blessing in configuring complex systems.
Still trying to get my head around AOP though, it's the 4th paradigm shit I've experienced in programming.
I can turn the knob on the WABAC if you like. My first professional gig as a programmer was writing PL/I at the Treasury Dept. It was a fully recursive payroll system. Entirely tape based batch processing.
Recursion
(56,582 posts)You know all that Ada and Eiffel code from the 90s that's remained vibrant and reused because of it? Oh, right...
Phillip McCleod
(1,837 posts)they really pushed it in college so i guess it's a good thing.
Recursion
(56,582 posts)Now primarily used as web application middleware?
Shrug. Java is C for people who can't be trusted with malloc().
ProgressiveProfessor
(22,144 posts)Since it is as old school as you get and there are so few of us who can do it.
Phillip McCleod
(1,837 posts)but there's easier ways to punish oneself.
Recursion
(56,582 posts)freedomrock1970
(31 posts)A soldering iron
Fortinbras Armstrong
(4,473 posts)hollysmom
(5,946 posts)When I started compiling took sop long, I did program in octal, we did not even have hexadecimal them. Assembly - 1
I could never do it now. I think it screwed up my eyesight staring at pages and pages of 0-7.
Recursion
(56,582 posts)It's very good for systems that need to be proveable.
Phillip McCleod
(1,837 posts)i'll have to get back to it one of these days.
jeff47
(26,549 posts)But then they started stuff I don't like in Python 3.
Java has isn't own massive pile-o-stupid (Hey, let's not allow multiple inheritance. I'm sure someone will manage to find a real-world diamond inheritance tree someday. So we'll have all sorts of pain-in-the-ass work-arounds instead of telling people "don't be stupid" .
So I guess it's C++....because people aren't adding dumb stuff to it.....for now.
ManiacJoe
(10,136 posts)Very versitile, can be used to program apps and low-level OS subsystems.
On the Windows side of things, you get all the libraries to speed up app development while still having direct access to the base Windows SDK when you need it.
Phillip McCleod
(1,837 posts)half the original appeal of python for me was 'well i can do both'. c++ for fast algorithms and python for fast development.
CuriousGuy
(8 posts)Definitely C#.
I don't have a good reason why. It's just the coding language we use at my company, and I've grown attached to it.
Dash87
(3,220 posts)VB.net is simpler but you can't do anywhere near as much with it. Plus, C# has the XNA libraries which are free, I believe.
ChromeFoundry
(3,270 posts)I've used a lot of languages over the years.
For the past decade it has mainly been C#... so it's a comfort thing.
depending on the task.. C++, PowerShell, ECMAScript, NT DOS Batch, Unix Shell... doesn't really make a difference to me. They all have their place.
nyrnyr1994
(623 posts)Been playing around with C# and Visual Studio, taking some classes on this, .NET and object oriented programming.
I like it and decided to make C# my main focus, also curious about using Xamarin for mobile apps.
dballance
(5,756 posts)I can easily tell you my least favorite was COBOL. Bar none. I also loathe SQL. I know it's a "query language" but it's still a programming language.
I've enjoyed PHP/Perl for web apps. ksh/bash for scripting on UNIX/LINUX.
For writing business programs I really like implementing a PICK-like environment (e.g. Universe, OpenInsight, jBase, OpenQM, D3) and using the BASIC-like language that comes with it. Much more powerful than your BASIC you used on your TRS-80 from Radio Shack. Lot's easier to code, document (yes, document) and maintain, IMHO.
If I were writing stuff for NASA or the NSA that's heavily computational I'm sure I'd have vastly different favorites.
So it depends.
Phillip McCleod
(1,837 posts)but is there one that can just lose yourself in for days? i almost typed 'loser yourself' but that would be projecting i think.
ps. bash is also one of my favs. weird kinda b/c python is script-like if not a scripting language itself. apparently these appeal to my coding aesthetic or workflow. also they like the same comment token.
Dash87
(3,220 posts)I hated it. Part of the reason for this was the IDE we used (I'm spoiled by Visual Studio at this point. Even Eclipse is annoying to me now.).
dballance
(5,756 posts)Yes, those used to be the Ferraris of the computing world. Not so much anymore.
COBOL is a terrible language in my opinion. If I ever have to write a statement again that includes "while varying y to z" I want to be shot. Okay, I'll concede that at the time it may have been revolutionary.
denverbill
(11,489 posts)One of my favorite jokes is this:
There was once a COBOL programmer in the mid to late 1990s. For the sake of this story, we'll call him Jack. After years of being taken for granted and treated as a technological dinosaur by all the UNIX programmers and Client/Server programmers and website developers, Jack was finally getting some respect. He'd become a private consultant specializing in Year 2000 conversions. He was working short-term assignments for prestige companies, traveling all over the world on different assignments, and making more money than he'd ever dreamed of.
He was working 70 and 80 and even 90 hour weeks, but it was worth it. Soon he could retire. Several years of this relentless, mind-numbing work had taken its toll on Jack. He had problems sleeping and began having anxiety dreams about the Year 2000. It had reached a point where even the thought of the year 2000 made him nearly violent. He must have suffered some sort of breakdown, because all he could think about was how he could avoid the year 2000 and all that came with it. Jack decided to contact a company that specialized in cryogenics. He made a deal to have himself frozen until March 15th, 2000. This was a very expensive process and totally automated. He was thrilled. The next thing he would know is he'd wake up in the year 2000; after the New Year celebrations and computer debacles; after the leap day--nothing else to worry about except getting on with his life. He was put into his cryogenic receptacle, the technicians set the revive date, he was given injections to slow his heartbeat to a bare minimum, and that was that. The next thing that Jack saw was an enormous and very modern room filled with excited people. They were all shouting, "I can't believe it!" and "It's a miracle" and "He's alive!". There were cameras (unlike any he'd ever seen) and equipment that looked like it came out of a science fiction movie.
Someone who was obviously a spokesperson for the group stepped forward. Jack couldn't contain his enthusiasm. "It is over?" he asked. "Is 2000 already here? Are all the millennial parties and promotions and crises all over and done with?"
The spokesman explained that 2000 had gone, but that there had been a problem with the programming of the timer on Jack's cryogenic receptacle - it hadn't been year 2000 compliant, and it was now March 15th of 9999, not 2000. But the spokesman told Jack that he shouldn't get excited as someone important wanted to speak to him.
Suddenly a wall-sized projection screen displayed the image of a man that looked very much like Bill Gates. This man was Prime Minister of Earth. He told Jack not to be upset, that this was a wonderful time to be alive--that there was world peace and no more starvation--that the space program had been reinstated and there were colonies on the moon and on Mars-that technology had advanced to such a degree that everyone had virtual reality interfaces which allowed them to contact anyone else on the planet, or to watch any entertainment, or to hear any music recorded anywhere.
"That sounds terrific," said Jack. "But I'm curious. Why is everybody so interested in me?" "Well," said the Prime Minister. "The Year 10000 is just around the corner, and it says in your files that you know COBOL".
----------
It's expensive to completely replace a working, existing system, especially back end systems. All of our user interfaces at our company are either web-based or moving to web-based, but I don't see our back end systems coming off of COBOL any time soon.
If you know COBOL, you can get a job maintaining that stuff.
I still use it every week, but most of my development is in Uniface web development now.
hollysmom
(5,946 posts)I worked night and day and could not even think about investments put all my salary in CDs - this paid for my retirement when I was laid off at 58 because all work was going to India - except they offered me a job if I would move to India and manage the same projects for the Indian team and do all the user interface. Most money I ever made in my life, but my Mom had a stroke just after we finished, so I lost the last active year of her life. Not worth it.
The one benefit of COBOL that should not be understated is that it was easy to find people who knew it, not knew it well, but knew it. I was a Mark IV specialist for a while and the thing that amazed me what how few people knew how it worked and the code they wrote was needlessly foolish - I once changed an 8 hour running program to an almost instant one by changing the definition of one field. They had the system converting back and forth from text to number every time someone used it and they used it almost every line - so simple just to define it as a number. To use any language well, you should know a little bit about under the hood.
I remember using that in my first programming class in college.
Phillip McCleod
(1,837 posts)including the usual 'python.h' header, the boost::python lib and now good ole cython itself. there's so much to love about python.. except speed.
AgingAmerican
(12,958 posts)I will always be in love with VB6. Probably because it was my first language, but also because it was a lot of fun to write code in.
Will always miss control arrays.
Phillip McCleod
(1,837 posts)and don't get me started on apple basic spaghetti code.. i was 12 the first time i wrote a 'Hello, world!' program. ah the days of starting lines of code with line numbers always remembering to leave some extra space in the numbering just in case you forget something.. don't wanna have to refactor all the rest of that code!
and 'goto'.. who could forget that monster?
Thor_MN
(11,843 posts)Legacy systems at a large company. Biggest problem is services that we use thinking they can change the interfaces, or the infrastructure groups slamming apps around on servers without telling us,
First programs I wrote were in BASIC around 1978. I bought my own copy of Visual Basic (version 1). Most new stuff I do in VB.Net but I have to keep a large codebase in VB6 functional.
Latest challenge is the Email team saying they sent an email 6 months ago saying that MAPI would no longer be supported. As it turns out, they were clueless who the Application Development managers actually are and sent their email to a group of people that couldn't care less. Meanwhile, all us developers were in the dark. Tomorrow is going to be an interesting day, as someone is going to have to admit they wasted 6 months of time.
diponkersaha
(4 posts)HTML & CSS is my favorite. HTML is not a language but begging language. by the html every website are staring and css are decorated. so its important is most.
napoleon_in_rags
(3,992 posts)Python is so fastest writing prototypes, small amounts of code. It becomes hard to debug as the project grows, and runs slow. Obviously the fastest running code comes from C, or anything that compiles to native code.
The perfect language for me would be interpreted with the ability to compile it for performance, strongly typed, dynamic, and would integrate ALL database functionality: Any statement you could make in SQL would be expressible directly in the language, and would work directly on the underlying database tables of popular databases.
Phillip McCleod
(1,837 posts)Pretty much what you described.. plus you can still prototype in py 1st then just ctype later.. then either compile with distutil .. or not. Python is a pleasure with SQL IMO with both low and high level interfaces.
pearllike
(1 post)Hi,
dear friend , I am very pleased to tell you that my favorite programing language is " PHP " . I am able to develop responsive website in Dot.net , Java, C, C++. I have more than 5 years experience in PHP.
[url=http://www.pearllike.com]Website Design & Development[/url]
Thanks,
kiteboucom
(2 posts)Hi,
I love HTML and Android programming but I am working as an SEO Expert
gopiscrap
(24,219 posts)Response to Phillip McCleod (Original post)
Name removed Message auto-removed
Drew Richards
(1,558 posts)sendero
(28,552 posts)... graduated to C++, which I loved as a language that supports Object Oriented Design, which I am a firm believer in (although a big skeptic at the beginning
A few years ago I needed to develop a tool application quickly. There was no time budget to do this, I had to steal hours here and there. I dove into to C# thinking that performance would not be an issue and that I could get something going quicker than C++. Do I have to add that I was skeptical of C# in the beginning too?
It didn't take long to make a convert out of me. Between not having to worry about memory management, not having to deal with pointers (not a big deal but an occassional source of issues), just an overall clean implementation and the .NET Framework that does all the simple and some of the hard stuff no muss no fuss - I am basically about 30% more productive using C# than C++. It's not that the things you don't have to do in C# are hard to do, but they take time and if you make a mistake maybe a lot of time.
BTW that tool I developed years ago is still being used by scads of developers and QA
kooth
(224 posts)In college, I learned COBOL, RPGII, Assembler, and BASIC (the old version with line numbers and lots of gotos).
For a college practicum, I wrote some COBOL for the college.
On my first programming job, while still in college, I learned an obscure language called Databus. It is like a combination of BASIC and assembler, but twelve times as slow. It was for an online ticketing site (1986!)
After graduation, in my first job, I got hired because I knew Databus. There was an ancillary system that used "Charles River UNOS" that was written in "C". The person maintaining that app left the company, and I got assigned to learn "C" on the job. I never looked back!
My next job I got because I had learned "C" and had a little UNIX knowledge from the previous job. I had some great programmers who were my leaders and my peers. I learned a great deal about "C" and programming in general from them. I became the UNIX Sys Admin on Motorola and SCO XENIX and UNIX systems.
In 1991, a group of us decided to learn C++. We set up classes in our office and once a week, one of us would lead the class and we all learned C++ for just the cost of our time.
Most of the rest of the time, I have written in C and C++. I also have programmed on the Windows side. C# is very nice for a proprietary language. I have done many projects in MFC of course.
Now, I'm sticking to "C" and C++, learning embedded Linux, playing with electronics and having a blast!
Response to Phillip McCleod (Original post)
Name removed Message auto-removed
Michael_wood
(20 posts)I am not basically a programming person but I've recently developed a little interest to it. These days trying to learn more HTML and found it pretty useful for anyone belongs to the field or not.
Binkie The Clown
(7,911 posts)In 1963 that was IBM 1400 series Autocoder.
In 1967 it was IBM System/360 Assembler
In 1977 it was 6502 Assembler and 8080 Assembler
In 1980 it was BASIC, LISP and CDC 6600 Assembler (go octal!)
In the mid 1980s it was C under Unix at work, and Borland Turbo Pascal on my home PC
In the 1990s it was C++ (MSVCC) all the way, at home and at work.
In the 2000s it was C++, Java, and PHP at work, and being burned out, nothing at home.
Now that I'm long retired, its Java and PHP just for fun, with a smattering of C++ (gcc) now and then.
erronis
(17,182 posts)If there's a new language or a good way to apply some new framework I'll take a look at it.
I actually got my first taste of computing in the early 60's with plugboards for sorters, tabulators, etc.
Binkie The Clown
(7,911 posts)My first professional programming job was translating plug boards to RPG on the 1401 (They called if FARGO at the time, but later it evolved into RPG). I did plug some boards on an IBM 409, but it was only to learn how it all worked so I could turn them into FARGO software. If I recall correctly, that was 1965 give or take a year.
w0nderer
(1,937 posts)rabid_nerd
(2,408 posts)Code older than I am?
Ugh.
hryhall
(1 post)A newbie to coding but, at the moment, HTML is a blast for me. It's probably cause it's the only language I know (lol) but I really want to learn more and am not very far away from learning some java script, just gonna finish touching up my html skills. I want to learn languages like c++ later, but I'm just not sure if my maths and problem solving/puzzles are to good... (I'm really bad at maths and problem solving)
Xipe Totec
(44,109 posts)I like Python. But Focus was the first 4th Generation Language.
https://en.wikipedia.org/wiki/FOCUS
Daxter
(103 posts)I learned how to program in Python. Python helped me learn the basics of program. If I were to recommend a language to a someone that wanted to learn how to code, I would pick Python.
Response to Phillip McCleod (Original post)
Name removed Message auto-removed