![]() |
What is your most prefered programming language?
What is your most prefered programming language? Give reasons.
|
Other: PHP :)
Mainly because I use it every day at work, and here, and for other personal sites. For actual programs, though, I'd have to go with C++. |
Come on ... we need more options than that! Off the top of my head I'll add:
Haskell LISP Perl Python Parrot Ruby Scheme Standard-ML SMALLTALK Of which I'd say Perl is what I use more often, but I really like Haskell (Scheme started me on functional programming). SMALLTALK is interesting too, right now I'm using SQUEAK (a deravitive of SMALLTALK) for a project, and it is really promising (though its a big headache most of the time!). Ruby also looks neat, but I've never programmed in it. Now, to answer your real question :) Favorite imperative language: Perl Favorite functional language: Haskell Favorite object-oriented language: Smalltalk And if I had to pick one, I'd go with Perl. Stephen, JAPH ;) |
i chose c++, but i like php, cause its pretty much the same with out includes and declaring variables. plus php has database support ;)
|
C++, because it's what I've been raised with, and it's pretty fun, but recently I've been using Perl a lot. I'm surprised Perl isn't on there, considering it's got its own cult following. And remember, HTML is not a language.
-Eric |
Trick question! I really don't know which language is my favorite, favorite. I really like PHP--so easy to work with. However, I could say that PHP came easy because of my background in C++. I really don't know.. PHP, C++, Java, Perl, which ever works best for what I am doing.
|
Come on guys, what about PASCAL;
Yes go programming class!! |
Definitely need more options.
For the stuff I normally do, I like C++ (often just C). However, my favorite language is definitely Scheme in terms of the best "wow, that's really cool" factor. Other languages I use: Java Javascript (occasional) Applesoft Basic Assembly (if you can call it a "language") |
The right tool for the job
My favorite language is whatever is going to let me solve the problem in the least amount of time with the least amount of hassle. As a professional developer, nearly every time thats going to be a microsoft solution. I don't know of any tools out there that can match Visual Studio in terms of flexibility and reduced time to market.
A problem I see with a lot of people is confusing knowing the syntax of a language with knowing a language. Using C++ to parse a text file is pointless when you can write a shell script. Start looking at the language features and figure out why you're using something. Why are you really using C++, when maybe VB will provide a better interface in a fraction of the time? I see a lot of people learning C++ on this board, which is great. The language is a lot more than just knowing where to put the curley braces. If you want to be stand out, grab a book on UML. Just my $0.02. |
My "Other" is Delphi. It's object oriented; based on Object Pascal. I find it much easier to use than VC++ for "rapid application development".
|
Having worked with it since v2.0 Standard, I'm somewhat partial to VB...the new .NET release has a lot of nice features that I'm using to write an app that a lot of you here might like...but to keep this from getting too off topic, I'll leave it at that...
|
I definitely agree with using the right programming language for the job. Namely, at work I convinced them to switch from using PHP to C++ for a project (it was rather silly to be doing it in PHP; it was not for a web page). For most "fun" projects, I tend to use C/C++. I have to say that I'm a bit partial to assembly language however. Not that it gets things done quickly.
Matt |
I definitely agree that the language should be selected to suit the job at hand. Having said that, I prefer:
C for embedded projects (small, fast, powerful) VB front-end for GUI's (quick development), with C++ dll's doing the grunt work. Quote:
My 2 cents. |
Quote:
|
Out of the two I know, Java and BASIC, I would go with Java just cuz I can actually use it.
|
Quote:
I took a class last year on Scheme, and that started me on functional programming. Once we started writing parsers and compilers, I started getting interested in language development, and I think it's interesting to know different languages besides "C++, Java, VB." Stephen |
I have done alot of system level stuff under sys 7 on a Mac in Pascal and I have a soft spot for Pascal probably because of that.
If I had to pick though I would have to go with C++ but it does depend on what I am trying to accomplish. Greg Ross from 330 reminded me about Delphi Object Pascal. I forgot about that. That had promise but I never got around to using it and now I don't get paid for that any more |
Languages are Tools
While some folks are religious about their languages, I'm not. Programming languages are tools to accomplish the task at hand.
But, I'm not without prejudice. First of all, I don't like languages that are hard to read, especially those with tons of syntactic (syntoxic) garbage. Secondly, I pride myself on portable code so that it will compile and run most anywhere. On Unix or Linux, it's usually C or C++. For scripting, I mostly use Perl and some sh (bash). On Windows, the choices are Visual Basic or Visual C++ (not quite the same as portable standard C++). For websites, I usually go with PHP or Perl plus Javascript. For embedded or robotics programming, it'll be C with some assembly. I would like to do more Java all around for portable applications on any platform. I've done Forth and Pascal and other obscure or dead languages, but I don't waste my time with them. |
C++, because I am a mindless conformist. Hey!
Is it wrong to like VB .Net also? |
Quote:
|
I went with C++ because i have made some fun stuff with it. I think for xmas ill teach myself Perl. If i ever figure out where to put it, ill post some of the apps ive written in C++. I like it because i can use all sorts of cool toys like openGL or winsock.
|
Go Pascal\Delphi!
My second favorite is C++. I wonder who will ever say they love QBasic? |
QBasic
QBasic is free, easy, and can read and write to the parallel port without any extra library code. You can build an interface to the parallel port, offering I think 8 output pins and 5 input pins, for only a few bucks. If you add an AD converter and maybe multiplex the I/O lines you could have a pretty nice little robot controller.
|
Quote:
I lived, breathed, and ate QBasic in my elementary school days. My progression was along the lines of GWBASIC/BASICA -> QBasic -> QuickBasic/VB. QuickBasic... compiled programs... mmm. It's so homely after the harsh syntax of C and the like. I miss variant data types and ridiculously loose typed casting! |
My favorite language is VB. How can you resist a script that Microsoft seemingly built for the single reason of allow virii to waste networks?
Doesn't anyone use Fortran anymore? |
Personally, Visual Basic. I know it is not the most powerful language but it alows me to do stuff without to much thought.
|
I heard that Visual Basic was basically for web use and not really sufficient for anything else.
|
Quote:
|
There is no *best* language because they are all tailored to do specific tasks. So the *best* language would depend on what you are planning to do.
For instance, if one want to write a program designed for speed (like a video encoder or 3d work) they might want to write parts of it in Assembly as it will give the smallest size program with the fastest execution speeds. For the web, I would recommend PHP. I love Perl, but it wasn't designed for the web. Therefore, I have no choice but to go with PHP. For Windows GUI programming, I would have to say Visual Studio 6.0 (VB 6, VC++ 6, etc.). .NET was proven to be MUCH slower in benchmark tests. Microsoft just wants to steal Sun Microsystem's share of the cross-platform and web market by .NET. Fortunately, they usually do things wrong, so I hope Java doesn't disappear any time soon. Even then, I dislike VB 6. VB generates ugly code and needs runtime libraries. VC++ has some advantages because it allows one to generate GUI's easily. Otherwise just pick up a Borland or GNU C complier and use the windows library to write the GUI. For Linux or Unix server work, Perl rules in it's ease of writing code and it's power. One could use shell scripts to do the work, but Perl does it better. For cross-platform programs, Java rules. For exploiting and debugging programs, one would definitely need C and ASM. Pascal is still hanging in there with Dephi (GUI programming) but I think it's dying out. C++ is good for game programming and AP Computer Science Tests :) Otherwise, I (inject opinion) think it's crap. Use C instead. Linux was programmed on C and it doesn't seem to have any problems! (Yeah, yeah, but the arguement is always OOP...) So that's my $0.03 mikeXstudios |
Oops, I have to apologize to Neal. I took a while writing my post that I didn't notice that he posted first with basically exactly what I wrote.
mikeXstudios |
come on guys, ASSEMBLY!!!!!!!!
haha, yea right, someday, however you can do just about anything, but it will take you a lifetime to do it. Other then that, i really like Visual basic for application programming |
Actually, I just wrote Pong for my calculator in assembly today. The basics are pretty simple if you already know another language. It probably would have taken about ten minutes in C++, though. What's nice is that it's lightning fast (compared to TI-BASIC) and people can't mess up the source code. Plus it gains you a certain level of, shall I say, prestige.
I never really liked VB much, but I never really learned it either, ever since my buddy sent me an app with bazillions of modules and dlls and cabs and ocxs and whatevers... The app itself was pretty small, but all the dependencies were bloated. |
hehe.. assembly language is the best in my opinion.. then C/C++.. but they're right, whichever tool gets the job done is the best one.
|
bah! assembly is for wimps. if you want a real challenge, do it by tapping out zeros and ones with a paper clip soldered into your mobo. that is how real men do it.
please don't hurt me |
A few notes on assembly:
First, "assembly" is not a language; it is a group of languages. For example, assembly for x86 processors is only vaguely related to assembly for embeded chips which is only vaguely related to other dialects of assembly. Second, assembly still has uses! Assembly is the easiest way I've found to take advantage of 3dNow!/SSE instructions, which are very important to modern procesors. Third, assembly is not any faster than any other language. For example, x86 assembly can be much slower than the equivalent C code if you turn on optimizations in your compiler. It's all in how you use it. Fourth, EVERY programmer should learn some form of assembly. Until you actually get down to the nitty-gritty of running instructions one at a time it's hard to understand costs associated with various operations. If you want a good intro, check out Randall Hyde's Art of Assembly. |
lol... coding in straight binary? i did that once actually.. for a MC6800 microcontroller i built.. but it kinda got annoying to set each bit so I got a hex switch to program the ROM.
Hmm.. it seems like everyone keeps emphasizing that no language is superior overall.. wonder why that is? It couldn't be because its true.. no, that makes no sense... |
Quote:
That said, the most useful part of assembly these days is the fact that it will result in an executable of much smaller size. There's a significant amount of overhead involved with a higher-level language that can be avoided by writing in assembly. Now why does size matter with huge hard drives being cheap? Embedded systems. Matt |
Quote:
Anyway, slashdot had a story a while back on tiny binaries using assembly. It's a good read and available here. |
Quote:
Quote:
Quote:
For instance, take a fairly moderate program (with some file writing, loops, function calls, and variable storage) and write one in C and write one in Assembly. The Assembly one will be faster. Why? Because one has total control over how the program is run in assembly. Therefore, there won't be junk code thrown in by the complier. The complier might make 10 jumps in the code to do something, while the savvy assembly programmer can do the same thing in 4 jumps. For small programs (like a print Hello World!), assembly might not make such a difference, but for larger programs, assembly's speed will shine. Of course the problem is writing the program in assembly. It will take too long! Steve Gibson of grc.com does an awesome job of writing Assembly programs. mikeXstudios |
I must say my favorite language is C for programming almost anything and a lot of applications are written in including operating systems. For web programming php, although some argue perl is better php has better error handling in my opinion. For simple automated tasks on my machines I use either perl or bash scripts. For recursions I must say lisp is very cool. And a lanugage I find very cool is starlogo. You can simulate simulations and make every dot act according to it's properties. Although very little practical use very cool. When I used to use windows I primarily used visual basic. But now I think of it it's quite slow.
|
Starlogo! I have fond memories of that... I can barely remember the instructions, but I can remember doing
Code:
create 1000 |
Quote:
Does anyone remember APL? Even had it's own keyboard with special programming characters. Ah, I miss punch cards. OK, the old man will shut up now and go back to running his TRS-80. |
...and remember...its FORTRAN...not fortran:D
|
Quote:
|
I recently saw OpenGL running in FORTRAN. That threw me a bit
|
I noticed in this: http://www.chiefdelphi.com/forums/sh...threadid=15704 thread that someone was having trouble getting a button to open a window with Visual C++. With Visual Basic, we wouldn't even have to think about a simple thing like that. I've never used C++ (Otherwise, I only use JavaScript/ActionScript), but unless your program is running fast fourier transformations, doesn't Visual Basic seem to be a better choice for building Windows apps? Speed isn't*that* important here, as the stuff you're doing isn't that intense.
Go Flash MX! Coding in binary? /me shakes head |
Quote:
As for VB versus VC++ in general, my biggest gripe with VB is that it has zero portability. If you write your C++ code correctly, you can very easily separate the MS specific portions from the core functions, making it much easier to port to other systems. RoboEmu only took a day-and-a-half to port to Linux because of this. If I had written it in VB, I would have had to start from scratch. On the other hand, VB does some things amazingly quickly and easily. At some point, I'll sit down and learn it a little better. |
threading
VB doesn't have built-in thread support and does not support inheritance. This is aggravating sometimes because it has partial support of interfaces. The only way I know of doing asynchronous processing with VB is to compile the forked portion into an ActiveX exe and use callbacks or events.
The .NET framework changes everything. There is no reason at all to code in managed C++, as far as I can tell. There is no runtime execution speed difference between managed C++, C#, and VB.NET. You can pick whichever you feel comfortable with and not be penalized. |
The whole .Net architecture is a scary idea. It is generally working towards one thing, subscription based licenses. They want you to pay them so ammount of money per month to use office and of course this is not going to be a steady amount it will probably increase and will cost you even more.
The reason C# is about the same speed as C++ is because they both go through the same optimizer so of course they are about the same speed. It probably works the same as the GNU compilers work (Gnu FORTRAN and Gnu C produce similar results) But as someone stated they're both much slower than the 6.0 counterparts. FYI, compiled VB code has in general just been calls to the ol' VBRUNXXX.DLL and so it was never all that fast because it was jumping around in library calls. I think newer versions may actually compile but it's still at a high enough that the functions are very unoptimized. Assembly is in general faster than compilers since most compilers are about a generation behind in generating optimized code (like the current generation of compilers can only generate optimized code for the P3 (except of course in the case of the Intel compiler which is usually ahead of the general compilers). Of course P4 has been out for a while now and this may not be so much the case anymore, but back in the day... Best OOP: Objective C a more thoughtful hack than C++ IMHO and yes neither of them are new languages they're really just hacks that live ontop of C Best Parser: Perl Best Web: PHP Best IDE: Project Builder from Mac OS X DK Best for Games: C (C++ has too much overhead) Best OS: Linux, leaning towards OS X Best FPGA Programming: Viva And of course Scheme and Lisp deserve mention, especially the MIT implementation of scheme. I did a Crypto course this semester and except for the parsing algo's used for the classic crypto systems I worked almost entirely in scheme. Scheme gets a lot of power of smart recursion, weak data typing, and from arbitrary data types. I think if you can program in this and an interative language well then you'll be a much more well rounded programmer. Patrik |
I guess my 1st choice would have to be VB since I have used it the longest (continuously). I do, though, enjoy working in C++ though it is definately a much harder language. Of course, Flash is always fun but not too powerful...
|
:(
I think your choices aren't very extensive... you also forgot the most important one:
It depends on the situation. Next time, don't forget PHP, Perl, Python, C, and all our personal favorites... assembly.... *rolls eyes* No, I do not know asssembly. Edit: Oh yeah and I forgot to mention, Java is evil and should be obliterated from the face of the earth. Thank you. |
Re: :(
Quote:
therefore Java = Time * Resources Time = Money Resources = Money Java = Money * Money Java = Money^2 Money is the square root of all evil therefore money = evil^1/2 money^2 = evil^2/2 furthermore java = EVIL Yeah, theres not enough choices... Order of prefeference....C, C++, PHP, HTML STUFF, Flash, Perl, ASP, JavaSCRIPT, PBASIC(pbasic even comes before java), Java (eww), VB (then vb the evil limited language, you can't use semi-colons!!!! And it brings up like 3 message boxes if you start coding in C for one second.) Operating System: Linux > windows ^ greater than sign I hate java, although my java game (AP CMPSCI) (beat up Mr. Lund) is quite fun... |
I agree with your java theory. Java has a tendency to ruin the best coders... I would rather stick with the standards (Perl, PHP, etc.)...
|
That java theory was actually first used for girls:
Girls = time * money... Java is really slow and takes up a lot of resources on my computer; I remember bringing up the task manager and seeing that java.exe took 30 MB of RAM, which was by far the largest consumer of resources. I think I'll consider Java more seriously when they get it faster and more compact. I've been working Perl a lot lately and I've got to say that I'm spoiled by not having to declare anything except for #!/usr/bin/perl. But the pattern matching works like magic and I think it really is a practical language for extraction and reports. |
Quote:
|
COME ON EVERYONE!!!!!!!!!!!!!!!!!!!!
GO TI-BASIC |
Quote:
I have no idea why you'd say Java ruins the best coders. Java is fairly good at teaching Object-Oriented Programming which is really a must when using structured design. Matt |
Quote:
|
You forgot Visual Basic 6. (Not .NET)
|
QBasic? Do people still use that? :D I know I did quite a bit, but after I learned some stuff that was actually useful, I haven't touched it!
My lang of choice is C++, and ASP or PHP for web scripting, depending on what the server is. I'm not a huge fan of Java, but J2EE is a pretty nice set of technologies. I'm strongly against applets, however. The web was meant to be thin client! You can do just about anything with simple HTML/JS/CSS. |
Quote:
Quote:
If they now have to learn C++/C for the business world, they will hate not having a built in function to do it for them, and maybe transpose that hate to C++... I have a strong C background. Before I used c++, I didn't mind malloc, calloc, free, memcpy, etc... Now that I've been programming in C++ for quite some time now, spoiled by the new and delete commands, it's hard for me to actually program in C. I still can but it's like "why do all the trouble and memory managing when you can do the same thing in c++ with no worrying." I can't imagine how hard it would be for someone to switch from java to c++, c, or asm. |
Quote:
For client-side programs, I would rather use c++. I like the c++ interface a lot more... |
I'm surprised nobody has mentioned one of the best things about Java: it's fully portable. Yes, you can use libraries like Gtk or Qt in C/C++, but those are usually hideously ugly and a pain to install on anything except *ix (n left out to include Irix).
You write one program in Java, it runs on all the major platforms, and all the major architectures. No recompiling, no library dependancies, just pure, beautiful object code. Also, the argument that Java is slow is becoming less-and-less valid as JIT compilation becomes more-and-more effective. Personally, I love Java. For what it does, it's one of the best, if not the best languages out there. On the other hand, it is not designed for simple text-based apps, nor is it designed for super-complex stand-alone apps. Finally, as for the whole "standards" thing: Java is far more of a standard than VB ever was or will be. Also, Java was documented and standardized long before there was finally an ANSI C/C++ standard. |
favorite to write code in: PHP, Java.
favorite "real" language: C++ Least fav: asm I would go into the reasons why i like PHP, C++, and JAVA but im am way to lazy right now. I must admit i am also guilty of occasionally using VB:rolleyes: to code small windows appz. |
I don't see why everyone likes all the other languages besides pbasic, I don't see anyone programming their robots in c++ or VB.
|
I believe this was a question about programming in general, not robot-specific.
|
mmm C and C++ are tasty :D
java is one of my personal favorites for web applications perl for everything else ;) *ponders* :] |
I don't know if anyone actually *likes* PBASIC.. but it's a decent language to get a niche job done quick and dirty. No one is going to write any enterprise applications in PBASIC any time soon.
The new additions to the syntax in 2.5 make it MUCH more similar to most other languages, which is a great thing. |
Personally I'm a C++ kind of guy. I like messing around with OpenGL. Making demos.
|
My favorite language would most definitely have to be C++. I've been using it for quite a few years, and I've grown quite used to it and some of it's features, such as being able to compile on different operating systems. However, for quick development, that is, being able to start and finish a minor project in the same hour, nothing seems to be able to beat visual basic. Not the most powerful language I've ever seen, but it's ability to produce windows-compatible applications complete with a professional-looking GUI is quite amazing.
|
Quote:
Really? Oh my god. mary, mohamad and Xenu should re-educate you... Since when is Java a cross-platform language? Quote:
Oh well, any ways, i am a retarded baptist and i would like to know if the linux kernel, it self, is consider be an operating system? and, uhm, say if i was to download the linux source then modify it and screw around with it, would you still consider linux better then windows? Anyways, please note that i am not anti-o/s but i just want to make sure i have my facts right... |
Quote:
Quote:
Quote:
If you download Linux, screw around with it, and then recompile it, it's no longer Linux. It's now your custom code based off of Linux. Anyway, this is kinda like asking "if I went in and randomly changed a few bytes of user.dll, would you still consider Windows to be better than DOS?" Even so, I would still consider your version of Linux to be better than Windows for the simple reason that I could take your source code, fix it, and have it working again if I chose to. --Rob |
It is always fun to watch rob deal with a newb. Usually he can keep his cool, but not always. Rob, you are hilarious.
|
Quote:
Now where should I start arguing Rob’s propositions. Should I state that Java code runs on a VM? Or should I state the facts of the “Level of abstraction”. No, I got it, I should argue the fact that he had misread my statement. Quote:
Where did I state the Bjarne was the most important person in the computing world? Eh, we Canadians Baptist must be blind! Quote:
JavaVM adds a level of abstraction or a layer that the code runs on. Java, like you said, can compile the same source code for any version of the JavaVM or any port of it. Java it self, compiles code that’s dependent to the JavaVM. JavaVM in this sense is a platform, the compiled Java code doesn’t run on the system but rather on the JavaVM. The JavaVM runs on the system, have you read Design Patterns (ref: Proxy (207)). Proxy design is like the design used in the JavaVM. The proxy objects allow accesses of many objects indirectly. JavaVM has objects that mirror the systems API. Quote:
Now, I don’t understand what I can not say C/C++ is the closet thing, right now, to a cross-platform language, either way; I challenge your arguments and thus I should able to challenge your statement, “And don't say "C/C++"” (Ala, you have not provide any adequate proof that your statement is fact). C/C++ is more of a cross-platform language then java, because when the compiler compiles its code, they compile code that the native system can understand, java compiles byte code that depends on the JavaVM which could reside on or above the: services/daemons layer or application layer. When you run C/C++ code, the code can run on the kernel level, daemon/service level, application or any other layer/level. I know for a fact you can create an application that can ask a file for an entry point then continue executing the code from there, this could add another layer of abstraction. You can do a lot with a ported version of the standard library, but you are right when you say that you need system dependent API to do GUI. I guess I can safely assume you do not know what controls the GUI drawing API in an operating system, I can assume this by what you have stated, “(MFC, X11, etc).”, MFC and X11 isn’t anything a like, one is a wrapper and one provides API for drawing, I will let you guess which one is which. Most the daemons or services written are written in C or C++. These daemons are executed by the kernel, the daemons run services like: apache for http server or ftp services, in windows daemons are called services. Without these services you can not do much. This daemons/services are vital to an operating system and it is one of the components that make an operating system operate. Quote:
Anyways, I wrote enough about this, here some links:. Linux for newbies If you wish for further proof of my statements, please do not be afraid to ask. Rember, this isn't my vocation... Nor i think it's yours, but it's only me opinion. |
My preferred programming language is PHP. I worked as a databse developer.
|
I use Zend's PHP IDE, i like because it has a lot of neat features.
www.zend.com |
AP Computer Science
Quote:
|
SQL
---->SQL<-----
by far the best. watever ur doing it, do it in SQL. u won't find anything more logical, easier, and more useful ASP.NET VS.NET JAVA C++ VB6 |
Quote:
Quote:
Second of all, you do understand that you're lecturing a person who wrote and maintains more than a few programs to perform various tasks concerning the Innovation First control system for Linux about Linux and programming, right? I mean, not that I consider myself knowledgeable enough to refute any of your statements, or even to properly respond, but it seems to me that from a spectator's point of view, if you actually did realize the facts stated above, you were just being condescending and intentionally offensive when you cited a link to a "Linux for newbies" page... Not very cool, in my humble opinion. And even if you didn't know, you're acting as though you're superior, and are pointing a n00b in the direction of a manual, dismissively. Again, not very cool. Whatever... I like PBASIC. Or C. I use PBASIC more. |
<?php
echo("php rocks!"); ?> |
Quote:
maDGag: what do you mean as vs.net? isn't .net a platform? |
Quote:
I'm still confused by your train of thought. |
TI Basic, my friends...:D
|
Hmm
It is kind of a tie between C++ and Java, but I'll say C++
main(){ cout << "I use C++! Bow before my fictional might!\n"; cout << "Bwahahaha!"; return 0; } |
What language did Steve jobs created that is used today?
Quote:
Quote:
The computer world includes and not exclusively only: Software: Games, Operating Systems, Language design and what not. Language design, again can be broken down into sub categories. I do not think it's possible to compare Steve jobs with Bjarne or the Xerox team. All of them are important in their particular field. FotoPlasma, his reasoning does not attack my statement. My statement, I when I stated I assigned it as true. When he disagreed to my statement he did not provide any adequate proof to change my statement to false. But his reasoning could have provided proof to challenge, in my opinion, the statement, "Bjarne is the most imprtant person in the computer world". If i stated that statement rob's reasoning would make that statement false, thus making rob correct. But the problem is that i have not stated that and he has not challenge my statement. When i say challenge it means when you try to change the current statement value (FALSE or TRUE) by taking into account of the statement you presented. here is how it would look like in C PHP Code:
|
How about we go back to 'your most prefered programming language' and just forget about it?
|
Anyways, my the language i really like the most is: C/C++.
|
Favorite Programming Language? How about two?
Other: ANSI Standard C or NEXTSTEP's Objective-C (specifically, the version currently used by Apple)
You gotta love procedural programming. Unfortunately, no one knows how to use it properly anymore, you can't have C++ geeks programming in C and also expect the code to come out clean, or the programs more efficient. When it comes to Object-Oriented languages, take Objective-C, the most versatile, best-designed object-oriented language available to date. Messaging wins over functions as class members any time. The other thing, run-time typing; id allows you to specify a type to be resolved at run-time, allowing more freedom in your code. - DB Um, I understand that PHP, Perl, Ruby, Small Talk, and the rest are considered 'scripting languages', and cannot truly be used to write Real programs? Or am I wrong? |
Re: Favorite Programming Language? How about two?
Quote:
it allows you to "cast" a type at run-time? i think C++ can do this with dynamic cast, but i am not 100% sure and if you are talking about OO, do you think casting shouldn't be a part of any good OOD? I think C++ is better since both Objective-C and C++ support RTTI. Unless resolved at run-time means something that isnt RTTI |
[i]id[i] as specified by Apple, is a pointer to an instance of a class.
Resolved at run-time refers to the fact that the reciever of a message does not know the type of an object until it is passed one at run-time. However, it is also possible to require a specific type, to enable better compile-time checking, and this is highly recommended. Here's the format of an Objective-C message, with 2 arguments: [myInstance arg1:(id)foo arg2:(UniChar)bar]; - send a message to myInstance, which, we assume has been defined such that it can recieve it. Arguments are: foo, which is of unknown type, and bar, which is of type UniChar. The above is the moral equivalent of function(void *arg1, UniChar arg2); id differs from void, I'm just not entirely sure of the how at the moment. I'm still somewhat new to Objective-C. - DB |
I chose C++ mainly because it seems easiest to me. It'd also chose PHP, Perl, ASP, and a bunch of others if they were there.
|
Assembly... why not?
|
I'd choose PHP, but thats not a choice and i guess it might not be considered a "real language" I also like C++, although i have never gone very far beyond simple command line apps, or DLLs to use in VB. I hope to find time to begin learning vc++ soon. Don't laugh but i also like VB (although it is quite restrictive).
|
C++ is my favorite, but JavaScript is good too. C++ is my favorite language for programs, while JavaScript is my favorite for web pages.
|
Perl and C (not C++)
|
x86 assembly... really.
x86 assembly is an arcane language reserved for those who are seriously without judgement, and its very elegant. Programming in assembly is unmatched by programming in any other language. No object oriented stuff here. No typedef. No nonsense. Except BBW (Branch both ways). |
I like Basic and Java or what ever gets the job done
|
Objective-C
Obj-C is awesome. Originally from the NeXTStep days, and now the preferred language for programming with cocoa classes. It's similar to C++ in that its an object oriented superset of C, but it's so much more powerful. You will NEVER rewrite the same line of code twice. Elegant and straightforward, and completely meshes with C. All C code works in objC documents. It's just a natural extension.
|
Re: Objective-C
Quote:
Matt |
Obj-C and C++
Actually, I don't know of any backwards-compatibility problems with Objective-C.
There is the issue of loading standard UNIX libraries on Mac OS X, but that's not a problem involving Objective-C itself. All C functionality can be used in Objective-C code. There is a main() function that works just as you would expect. You can freely intermix C and Obj-C. Think of Objective-C objects as wrappers for functions and data. So, instead of: int foo; int setfoo(int value) { foo = value; } int readfoo() { return foo; } setfoo(23); printf("%d", readfoo() ); You would declare on Obj-C object: @interface myObject : NSObject { int foo; } - (int) readfoo; - (int) setfoo:(int)value; @end @implementation myObject - (int) readfoo { return foo; } - (int) setfoo:(int)value { foo = value; return foo; } @end ------------- The above code encapsulates the variable foo, and all functions to work on it, in an objective-C object. Now, to read the variable foo, and print it with printf, I can do the following: printf("%d",[myObject readfoo]); As you can see, it acts just like the C function that I wrote above, readfoo(). In this light, Objective-C is used to encapsulate all variables, and the operations on those variables in a single object. Furthermore, the @interface section can be placed in a header file, so all the developer has to do is find the object they want to use in that header file, and look up the methods they wish to call, and all the syntax therein. They don't need to know about how the object goes about its business. All they need to know is what the object returns, and what variables it expects on input. You do not have to declare all methods in the interface either. Also, it is OK to call a method that may not have been declared for an object. It is also possible to intermix Obj-C and C++, though you cannot use a C++ object as if it were an Obj-C object. I have not listed all of the advantages and points about Objective-C, please visit: http://developer.apple.com/documenta...al/ObjectiveC/ for more information on the Obj-C language. You may notice that Objective-C does basically the same thing as C++ using object encapsulation. I believe that it does it in a cleaner, more understandable manner. |
| All times are GMT -5. The time now is 18:19. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi