If you could learn one programming language what would it be?
Comments
-
TheShadow Member Posts: 1,057 ■■■■■■□□□□Real programmers learned 8080/8086 assembly and used MASM or TASM to assemble it on an IBM AT or an Apple II with a CPM card for 8080 only. They learned C by reading K&R 1 and nothing else, then learned C++ using Cfront . All other languages are simply details except COBOL and maybe APL which one normally refuses to admit to. Remembering the time when most users knew how to use debug to write code.
Grabs coat and hat and heads for the door with evil grinWho knows what evil lurks in the heart of technology?... The Shadow DO -
Akaricloud Member Posts: 938I have to say, if I ever meet someone who does Assembly I'll have to shake their hand and congratulate them and wonder how they stop themselves going postal... lovely example code here.
-
DevilWAH Member Posts: 2,997 ■■■■■■■■□□If you considered that most OS's (linux and Windows) most of the applications we use and almost all the games we play have at least partly if not completely been written using c and c++. That should tell you that as a language the c family has a lot going for it.
things like SQL are very narrow in there application, as are are jave and vb script or any Scripting/interpreted languages. While scripting teaches good logic I like others would not call them real languages. And if you are looking for a single language to cover all of the programming concepts then you can count them out.
Assembly level languages are a bit the other way, and quite specific in there application, but will really teach you how a computer process data at the hardware level.
but the best language to learn is the one is the one you have a use for, as the way you will learn is to practice and try. Which is why a lot of people enter in through the scripting languages, quick to pick up and quick to become useful in you day to day job. They then can lead on to more "complete" languages later on.- If you can't explain it simply, you don't understand it well enough. Albert Einstein
- An arrow can only be shot by pulling it backward. So when life is dragging you back with difficulties. It means that its going to launch you into something great. So just focus and keep aiming.
Linkin Profile - Blog: http://Devilwah.com -
petedude Member Posts: 1,510The first language I ever learned was Applesoft Basic, followed by Pascal, and then Fortran.
You go back as far as I do, probably.
Mine was something like AppleSoft BASIC, AppleWriter WPL, Condor DBMS, MS BASIC (CP/M), Pascal then C as a kid.Even if you're on the right track, you'll get run over if you just sit there.
--Will Rogers -
ptilsen Member Posts: 2,835 ■■■■■■■■■■In terms of programming languages where you compile something into an executable (which I believe this thread is about) then no, SQL does not qualify. Yes it is a "language," smarty-pants [smile], but if all you knew was SQL, then you'd have a hard time printing "Hello World" if you were not familiar with any other OOL languages.
-
RobertKaucher Member Posts: 4,299 ■■■■■■■■■■Whew... glad I'm not the only one.
I consider Java, c#, and VB.net scripting languages too
They are technically intepreted languages. I also think that any language with a garbage collector which is pretty much most intepreted languages is a scripting language.
Either way this is simply a matter of implementation and there have been interpreted versions of C. Any language can be run on the interpreted model. This is like saying that only machines with four wheels or more qualify as motor vehicles. -
RobertKaucher Member Posts: 4,299 ■■■■■■■■■■SQL really isn't a programming language. When you look at what SQL is, you'll find that it's really not as a complex as Java or any other Object-Oriented Language.
SQL is terribly easy, believe it or not. -
paul78 Member Posts: 3,016 ■■■■■■■■■■Real programmers learned 8080/8086 assembly and used MASM or TASM to assemble it on an IBM AT or an Apple II with a CPM card for 8080 only. They learned C by reading K&R 1 and nothing else, then learned C++ using Cfront . All other languages are simply details except COBOL and maybe APL which one normally refuses to admit to. Remembering the time when most users knew how to use debug to write code.
Grabs coat and hat and heads for the door with evil grin
Hides under desk to avoid the projectiles. -
CodeBlox Member Posts: 1,363 ■■■■□□□□□□LOL -I thought real programmers hand-assemble 6502 code.
Hides under desk to avoid the projectiles.
As a project last summer, I was writing a 6502 emulator in C Got the core down and implemented a few instructions. I had started the project but never got to finish it. I've been thinking about picking it back up again as it would be so cool to finish.Currently reading: Network Warrior, Unix Network Programming by Richard Stevens -
paul78 Member Posts: 3,016 ■■■■■■■■■■RobertKaucher wrote: »This is inaccurate. C# is compiled into Intermediate Language (which makes them cross platform) and JIT'ed into machine specific code when they are run. C# is not interpreted, regardless of what WikiPedia might say. The .NET specification is very clear about how this occurs (I cannot comment on Java as I have only a general knowledge of it).RobertKaucher wrote: »I believe the same is true for all the .NET languages like VB.NET, Visual C++, and F#.RobertKaucher wrote: »Regardless, in this case you are using the word "interpreted" where you should be using "managed". And to say that managed languages are nothing more than scripting languages is a gross oversimplification.
I do understand the difference. My comment was partly to elicit insightful dialogue in a manner to assist the OP in understanding language differences and their value proposition.
It’s my belief that programming languages are just different tools in a toolbelt. There is no one magic programming language and when developing a new application, the choice of that tool will determine the ability to support and scale that application over its lifetime.
Developing a Windows desktop application in unmanaged C or Assembly is probably not a good idea. Similarly, it’s a bad idea to write an operating system kernel in a high-level language.
One pet-peeve that I do have is when applications are developed using high-level languages like Java or a .Net language and then the developer tightly couples code into the operating system.RobertKaucher wrote: »Either way this is simply a matter of implementation and there have been interpreted versions of C. Any language can be run on the interpreted model. -
RobertKaucher Member Posts: 4,299 ■■■■■■■■■■Interesting. I did not realize there was a JIT compiler involved. That would certainly explain the comments that I've heard from colleagues regarding the performance characteristics of .Net. I assumed incorrectly that it was purely interpreted based on the tidbits that I read about .Net reflection. Java can utilize something similar.I am curious if you have seen any adoption of f# - I found it fascinating that Microsoft was developing a functional language. Is it really a functional language like John Backus envisioned. I often wonder if functional languages will really find widespread adoption other than as a niche....
Developing a Windows desktop application in unmanaged C or Assembly is probably not a good idea. Similarly, it’s a bad idea to write an operating system kernel in a high-level language.
One pet-peeve that I do have is when applications are developed using high-level languages like Java or a .Net language and then the developer tightly couples code into the operating system.
Right – I have seen interpreted versions of C and it still eludes me on its utility other than an academic novelty, learning tool, or embedded application macro language. -
RobertKaucher Member Posts: 4,299 ■■■■■■■■■■Now to actually answer the question... The first language I ever learned was Perl. I have not seriously used Perl in nearly 15 years... There is a special place in my heart for it and I'd love to sit down and learn it again. But it is completely impractical to me.
If I could branch out a bit I would like to get into Java and do some Android development. Right now, though, my bread and butter is SQL Server+SharePoint+Windows Administration so I have very little time. Put I really think professionally I do need to branch out a little. -
vCole Member Posts: 1,573 ■■■■■■■□□□I edited this
ABAP SAP development
I unfortunately have to learn this. I'd like to learn Perl and PHP. -
N2IT Inactive Imported Users Posts: 7,483 ■■■■■■■■■■@vCole
Why are you developing in ABAP? Are you building out modules in an SAP ERP? If so you can make over 200 an hour, if not more. Aren't you network admin, that is a crazy turn of events.
I have done some development in ABAP in a sandbox environment and it was actually enjoyable. Of course this was in my free time at work. Never was compensated for it, never had a chance the company was purchased by a company running JDE.
That killed all those dreams. -
CodeBlox Member Posts: 1,363 ■■■■□□□□□□$beer | %{$_.Drink()}Currently reading: Network Warrior, Unix Network Programming by Richard Stevens
-
erpadmin Member Posts: 4,165 ■■■■■■■■■■RobertKaucher wrote: »I'll leave the semantics of what people believe a programming vs. a scripting language is and I'll just say that SQL, especially when you consider a variant like T-SQL or Postgresql, can be exceptionally complex and the deeper you go into relational algebra and relational calculus the more you understand that. If all you are really working with is basic CRUD operations and a few JOINS it's not that bad. But the concepts of the relational model that SQL implements are not very intuitive and even seasoned developers trip up on them all the time because they can't understand how to think in a set-based, relational model.
I think it is awesome that you have really gotten that deep with SQL.
Perhaps one really should consider taking up calculus so that one can take one of those CS courses that deal with relational database theory (be it at an undergraduate or graduate level, though calc should undoubtedly be taken at an undergrad level.)
Thankfully, for most day-to-day operations a DBA has to deal with, it really doesn't have to be that deep. But I will qualify that with saying it would not be a bad idea for it to get that deep. CRUD has always been good enough for a lot of DBAs (and I dare say, most developers I've worked with.) -
paul78 Member Posts: 3,016 ■■■■■■■■■■RobertKaucher wrote: »Sooooo... Have you heard of Singularity? Can't get more academic than that! Oh yes, the Kernel is written in a variant of C#.
-
RobertKaucher Member Posts: 4,299 ■■■■■■■■■■I think it is awesome that you have really gotten that deep with SQL.
Perhaps one really should consider taking up calculus so that one can take one of those CS courses that deal with relational database theory (be it at an undergraduate or graduate level, though calc should undoubtedly be taken at an undergrad level.)
Thankfully, for most day-to-day operations a DBA has to deal with, it really doesn't have to be that deep. But I will qualify that with saying it would not be a bad idea for it to get that deep. CRUD has always been good enough for a lot of DBAs (and I dare say, most developers I've worked with.)
Amazon.com: Joe Celko's Trees and Hierarchies in SQL for Smarties, Second Edition (The Morgan Kaufmann Series in Data Management Systems) (978012387733: Joe Celko: Books
Amazon.com: Joe Celko's Thinking in Sets: Auxiliary, Temporal, and Virtual Tables in SQL (The Morgan Kaufmann Series in Data Management Systems) (9780123741370): Joe Celko: Books
Amazon.com: SQL Antipatterns: Avoiding the Pitfalls of Database Programming (Pragmatic Programmers) (9781934356555): Bill Karwin: Books
Amazon.com: SQL and Relational Theory: How to Write Accurate SQL Code (9780596523060): C.J.: Books
The final link is also a Master Class on Safari. Very deep treatment of the relational model.