|
||
|
|||||||
| General Discussion General discussion for the RunUO community, all off-topic posts will be deleted. This forum is NOT FOR SUPPORT! |
![]() |
|
|
Thread Tools | Display Modes |
|
|
#2 (permalink) |
|
Newbie
|
Well the defacto standard for "powerful" programming languages is C/C++, but it is more difficult to fully learn than say C#/Java/etc. If you have no programming experience and are planning on teaching yourself I honestly think C# is a good place to start. If at a later time, once you have solid programming techniques down, you want to pick up another language C/C++ would be a good one to learn.
|
|
|
|
|
|
#3 (permalink) | |
|
Forum Expert
Join Date: Oct 2004
Location: Chesterton, IN
Age: 29
Posts: 288
|
Quote:
I second that. I started with BASIC, moved to VB, then to VB.NET, and then finally onto C#. I've been programming for somewhere around 10 years now, and have determined that, if C# was available way back when...I would have picked that up first before VB. I wanted to eventually transition to C++, but I'm finding that C# can do exactly what I want well enough that I don't need to move to C++ ever...granted moving to C++ has some pluses...I don't feel it will be necessary for me. Now if you want to be what I would personally consider to be a "hard core" programmer, then you should eventually move to C++, and learn some ASM along the way too. |
|
|
|
|
|
|
#4 (permalink) |
|
Forum Novice
|
Yes, birdman2279, C# is a perfect language to learn development.
C# is based on C++ with the following goal "80% of its power, 20% of its complexity". You can start with 101 C# and Visual Studio 2005 samples: http://download.microsoft.com/downlo...SamplesAll.msi Three real world great C# project:
To zoggins Er ... well ... I agree with your affirmation "C# is a good place to start". But I strongly disagree with your idea than C# isn't a powerful language, after have learned you'll need a more powerful one. First. The difficulty of the C languages is grosso modo equivalent. You learn the C++, the Java and the C# with the same level of difficulty. The only C++ startup problem is pointers. Yes but VERY VERY VERY SOON you'll need to learn the difference between value, reference in C# and Java too so in a 4 months time frame it's false to say C# is A LOT easier to C++. So learn directly C/C++ help you to have a solid knowledge foundation and understand what you do. It's the more important. Yes, you can develop easy applications and then understand details but it's not the natural way. You've learned the alphabet before read and to read before grammar. Actually, the de facto powerful language to develop application is your brain. You choose the language the more adapted to your situation. You can make a website in C++ you know ... but who want to? A developer must know how to code and how to learn new languages and be proficient in C, Java, C#, without forget database languages like SQL, scripting languages like PHP, Perl, TCL, Python and for port an app for you f****ing customer some VB. The advantage of C++ is you have a lot of library. Well ... in the .Net world you can use it directly or even create a wrapper to help this task. A real world developer I'm rightly currently do a break for a C++/C# development (the core library is in C++, the wrapper in Managed C++ (the .Net C++), the GUI in C#). Now if you develop .Net, you can freely choose the language and access to the same libraries. .Net applications are language agnostics. If you browse the Microsoft patterns & practices development center, you'll find libraries and blocks to develop complete infrastructures (it's patterns initially developed for a bank internal IT infrastructure to redesign all the bank workers applications). And about the "more powerful languages" than C# why a plural ? There's only one truly evident, the C++.
__________________
La connaissance s'accroît quand on la partage. Share your knowledge, you'll increase it. Utopia. Votre Monde. |
|
|
|
|
|
#7 (permalink) |
|
Forum Novice
|
Er ... about asm ... there are some C/C++ alternatives
![]() e.g. consult Target Compiler Technologies : Home Page. With their tools you can describe an instruction set for a processor. that description is used to compile C code for that processor, an assembler is derived from it and the ISS is a simulator for that processor. It's also possible to derive VHDL or Verilog from it to actually make the processor.
__________________
La connaissance s'accroît quand on la partage. Share your knowledge, you'll increase it. Utopia. Votre Monde. |
|
|
|
|
|
#9 (permalink) |
|
Newbie
|
I never implied one language is good for everything, I simply answered his question. I use whatever the situation requires just like any good software engineer.
Don't even get me started on object oriented perl. :P Also, i said "if he is going to teach himself" he should start with C#. I firmly believe that in academic settings like a unversity C/C++ should taught first since it seems easier for students to move from the pointer world into the non-pointer world than the other way around. Also he didn't ask which one was easier to become an expert in, in that respect C# is just as powerful as C, however i believe C# is easier to "learn" at a basic level than C/C++ because of pointers.Last edited by zoggins; 10-30-2007 at 08:41 PM. |
|
|
|
|
|
#10 (permalink) |
|
Forum Novice
|
Fully agree with C/C++ learning is ideal in academic environment, C# in DIY.
You know, if C# seems easier about pointers management it's because in .Net "all data types are pointers, all value types are values". In public override void OnDoubleClick (Mobile from), from is a pointer. In C++/CLI (the c++ for .Net apps) we'd write void OnDoubleClick (Mobile^ from). Yeah in C++/CLI we've a new pointer to reference the managed objects. (^ (Handle to Object on Managed Heap)) Writing this, okay okay C# power to start .Net development without any kind of hesitation ![]() Now, something wanting to start great console UNIX applications (Linux, BSD, Solaris, Mac OS X, ...) development he must begin directly with C++. It why I said you choose your first language from the first things you want to do.
__________________
La connaissance s'accroît quand on la partage. Share your knowledge, you'll increase it. Utopia. Votre Monde. |
|
|
|
|
|
#12 (permalink) |
|
Forum Novice
Join Date: Jul 2006
Posts: 142
|
I Built A Calculator!
This is the first programming language i ever tried so yes im proud!, I figured out how to by looking at UO scripts & some online Stuff about converting variables. Thought i would post project here just for some feedback ![]() |
|
|
|
|
|
#13 (permalink) |
|
Forum Expert
Join Date: Nov 2005
Location: San Diego, CA
Posts: 1,824
|
Let me chip in as a professional here. First, the broader community is slowly but surely abandoning C and C++, except in niche cases where it really matters (operating systems, high speed libraries, and other point solutions). Having written literally hundreds of thousands of lines of code in C++, I'd rather program in Java or C# any day, just to avoid the reality of having to fire up specialized expensive tools to diagnose memory leaks, segfaults induced by non-localized memory corruption, terrible exception management, etc, etc, etc.
It's not just me, most everyone who's used all of the languages mentioned agrees. While sometimes you feel compelled to use a lower level language due to the requirements of the project, you'd do anything to avoid it. Languages like Java and C# are therefore _the_ future. You can safely ignore C and C++ if you like. That said, once you have a modern language like Java or C# under your belt, it can be really beneficial to have the ability to use C and C++, as these languages will be around for a long time, and their use cases won't go away any time soon. As for whether C# or Java, pick C#. It's a better Java than Java, mainly because they could rethink all Java's warts while "copying" it. Also, C# development is less shackled by purists who like to think there is "One True" way of doing it, and more grounded by practical programming needs. One Trueism both tires and bores me... it's the thing the Java community needs to lose the most. C// p.s. picking C# also implies picking Windows. So if you're a linux fan, go the Java route and suffer under the yolk of One True. Last edited by Courageous; 10-31-2007 at 12:07 PM. |
|
|
|
|
|
#15 (permalink) |
|
Forum Expert
|
the problem with C# and Java are that they are 4th gen languages.
you are therefore limited by the 4th gen restrictions. there are times what you want simply wont work because of the limits of working within a 4th gen enviro. C# and Java are great languages, but you are highly advised to pick up a 3rd gen language if you want to be serious. |
|
|
|
|
|
#17 (permalink) |
|
Forum Novice
|
Hey, fine birdman :-)
Three tips: (1) The class Convert is fine but to convert anything to a string, use instead the ToString method. two.ToString(); (2) 6/9 = 0. Only a C compiler will agree with you and maybe some physic guys but in the casual mathematics world, we want (well ... or just need) real numbers, so try use double instead int and abracadabra you'll have 0.75 ![]() (3) Try also to use the camel case to identify more easily your buttons and stay the button prefix. e.g. buttonEquals buttonSubstract buttonClear buttonDigit1 buttonDigit2 buttonDigit3 ---------- o0_Sithid_0o Nope you can't, Mono isn't intended to learn development. It's where the Windows and UNIX world converges and you've to code hacks and kludges to have a solution fine for the two. Oh and is Mono really stable, finished, mature for real applications right now? Hmmm and see also Mono Versioning - Miguel de Icaza.
__________________
La connaissance s'accroît quand on la partage. Share your knowledge, you'll increase it. Utopia. Votre Monde. |
|
|
|
|
|
#18 (permalink) | |
|
Forum Novice
Join Date: Jul 2006
Posts: 142
|
hey thx i converted it into doubles, but
Quote:
i use the prefix command - cmd, for my buttons? thx for the feed back ![]() |
|
|
|
|
|
|
#20 (permalink) | |
|
Forum Expert
Join Date: Nov 2005
Location: San Diego, CA
Posts: 1,824
|
Quote:
Never minding little intractable issues like certain numbers, when represented by us as rational decimals, are actually irrational numbers when represented in binary floating point. It's extremely sloppy to refer to IEEE754 numbers as "real" numbers. Nothing personal to you at all of course. You, alas, are not the only one being so sloppy, and were probably even taught this out of some book or by a professor. Both were wrong. C// |
|
|
|
|
|
|
#21 (permalink) |
|
Forum Novice
|
Thank you to notify me this language abuse.
Er ... no way to reject the fault to my teachers, it's only mine. We've got comprehensive lectures about data representation, especially numbers. *prepares an auto da fé*
__________________
La connaissance s'accroît quand on la partage. Share your knowledge, you'll increase it. Utopia. Votre Monde. |
|
|
|
|
|
#22 (permalink) |
|
Forum Expert
Join Date: Mar 2003
Location: where I belong
Posts: 1,784
|
You apparently don't. C# is 3GL, not 4. 4GLs are more data-driven languages, and usually don't control an entire application, such as SQL. 4GLs are also closer to human language than 3GLs. (For example: the SQL statement SELECT * FROM ooga.)
3GLs are the successors of 2GLs ( ) and are high-level languages that are easier to read than 2GLs but usually require a tad more training to understand as readily as a 4GL. (For example: the C# statement for( int i = 0; i < 10; i++ ){}.)
__________________
"Misfortune shows those who are not really friends." -Aristotle "A multitude of words is no proof of a prudent mind." -Thales |
|
|
|
|
|
#23 (permalink) | |
|
Forum Expert
Join Date: Nov 2005
Location: San Diego, CA
Posts: 1,824
|
Quote:
Fourth-generation programming language - Wikipedia, the free encyclopedia Anyway, we digress. I didn't ask you to ask me about my knowledge. I asked you what you were thinking when you said we you said. Please refine. A concrete example would be good. I'm not particularly concerned with your misuse of the 4GL term, but rather am curious what thing you want to try to do in C++ that cannot be readily done in Java or C#. C// Last edited by Courageous; 11-01-2007 at 09:09 PM. |
|
|
|
|
|
|
#24 (permalink) |
|
Forum Expert
|
looks like wiki got it wrong.
1st gen languages are computer code. binary code used for cpus and bios. 2nd gen languages is basic, qbasic, basica, and other non-OOLs 3rd gen languages is primarily made up of OOLs and some non-OOLs. 4th gen languages are those that require interperters at run-time rather than compile. biggest clue of a language being 4th gen is if you have to have an environment installed on the computer such as Java, C#, visual languages... they require the OS to have libraries at times of execution supported by the OS. 3rd gens get all that at time of compile rather than execution. thats why C# is a 4th gen, you have to have .Net 1.x, 2.x, 3.x to run, and you cannot use those programs without an OS present. same situation with Java. same situation with visual languages and such. |
|
|
|
|
|
#25 (permalink) |
|
God of Pandora
Join Date: Jun 2003
Location: Gainesville GA
Age: 31
Posts: 2,000
|
*grabs coffee and a smoke* This promises to be a good learning experience.
I have great respaect for Courageous as I've seen him do some really good things here, yet while I've never seen Murzin, what he says does have a few valid points (at least as far as I know). Wiki being a user generated site is subject to be wrong (tho rare at that) and while I am not sure either way, I'd love to learn more about this... I guess the real question in all of this is "what is the definition of a 4th gen language?" and "why does it matter in this case?"
__________________
The Den of KillerBeeZ...Kender's Komments, uncensored commentary from the Kender. Plus anything else the Kender might have in his pouches.
Last edited by KillerBeeZ; 11-02-2007 at 02:47 AM. |
|
|
|