What's new

About programming languages

pegasus001

Normal User
Well as you can see by the title, i want to talk here about programming languages. Here you may ask, post and do every thing you want, but you must stick to the rules. I guess that here are some very good programmers tha use c++, i myself use c# for now.
Ask n Post.
 

bronxbomber92

New member
I don't know much about c#, I would l;ike to learn more about it though :)

I personally am using c at the current moment, until I get a fuller comprehension of classes and objects

Cheers
 
OP
pegasus001

pegasus001

Normal User
well with c the only thing you will learn is only structured programming, and pointers, and stuff like this.
 

Doomulation

?????????????????????????
What is the point of a common thread? All issues can be discussed in a seperate thread. As for C#, it's Visual Basic with C-style coding.
 

Cyberman

Moderator
Moderator
C# has nothing to do with programming style. It is managed code, also known as interpreted code. It's akin to Java, and requires a run time library to even work. As Doom states it's Visual Basic with a C++ venere pasted on. Microsoft has been pushing virtualization very hard of late because it's part of there scheme (scheme is the appropriate word too) to make inroads into the enterprise. To make it simple C# is a marketing gimick and not really much new. They can do things with interpreted language you cannot with a compiled one (big woopie there), there is however a large performance penalty.

I have used numerous languages, C# is unimpressive, it allows you to make applications quickly. However so did Qbasic and visual basic. Still they all are limited. I've seen people use such tools in the enterprise, and the only result I can safely say is 'it was fast to get there'. I can't really say much about the quality of said applications.

Cyb
 

blueshogun96

A lowdown dirty shame
What is the point of a common thread?
I guess he wants his own sticky :p I think he's just trying to make a helpful thread.

Quite frankly, I didn't really care about C# when I first started leaning about it. I just it doesn't become the "the language of the future". To me that is a scary thought. C is good enough for me.

Correct me if I'm wrong, but is C# an event driven language?
 
Last edited:

Doomulation

?????????????????????????
Yes, it is. Much like Visual Basic. It's just a Visual Basic with C-style coding for managed languages. C++ can do Managed, but nowhere near as good or complete as VB or C#. If you want to do managed, stick with C# or VB, otherwise it's pretty much C++ for native.
 

Toasty

Sony battery
IMHO, C# is a nice language to work with, as it has access to the .NET Framework, which helps reduce time spent coding repetitive and tedious things like Windows controls. However, like Java, it is poorly suited for emulating much more than a Chip8 since it abstracts the low-level mechanisms that the programmer must control directly to achieve fast emulation. It has its uses and it does well with them, but one of those uses is not emulation.

Also, as a side note, C# (and any MSIL managed code) and usually Java are compiled at runtime, not interpreted, so as long as the language doesn't get in the way, they can achieve close-to-native speed.
 
Last edited:

Doomulation

?????????????????????????
IMHO Managed Languages are crap. I have seen numerous VB users who just like to Variants everywhere and screw up everything in their code. Is C# going to be the same?
Microsoft can shove the .NET Framework up its ass. It's a nice collection of classes, but relies on a heavy framework, is slow and comes at a cost of power. Things that you do in native (memory manipulation, for example) is not possible in managed languages.
And so again, C# language syntax is annoying, and it's just a copy of VB with C-style coding.

And whatever Microsoft says, I doubt any Managed language will get equal to or faster than native code. So it's compiled, so what? Computers are so fast today you won't notice it. What you WILL notice is the performance hit when it executes a block of code that has not yet been compiled.
And of course, the lack of direct manipulation makes it very hard for making emulators.
 

Poobah

New member
So what are the principles of a managed language? I had always thought that it was just a buzzword to make Microsofts stuff sound more 'next-gen'.
 

Doomulation

?????????????????????????
So what are the principles of a managed language? I had always thought that it was just a buzzword to make Microsofts stuff sound more 'next-gen'.
Security, power, flexibility and interoperability for all applications.
Security: Like VB, the Framework can check for buffer overruns and various other common security blunders.
Power: Lots of functionality to perform things easily in one big framework.
Flexibility: The ability to create programs that can do a variety of things easily and more "next-gen"-ish. Many principles that are supposed to be hard in normal C++ should be done fast and easy.
Interoperability: No matter what language you use - as long as it uses managed code, you can make the languages interoperate with each other. For example, you can write DLLs in Visual Basic, Pascal, C++, C#, etc, etc (as long as it supports the managed language) and they will all work without problems and best of all - it's easy! You just need to program like always and the Framework takes care of the rest. Suffice to say, this is Microsoft *cough* COM *cough* v2.

This is what is says on the specs, though. I know the Framework is huge and has lots of functionality. Interoperability is a nice thing. Security is a good thing, but it consumes more CPU power to keep these things in check.
Anyway, that's what it's supposed to be. I'd be more willing to use it if Microsoft didn't force the new syntax down our throats (because honest, I HATE it) and it is more nice and kind to Native code.
 

Cyberman

Moderator
Moderator
Interpreted languages have been byte compiled since the mid 1970's last I checked. So managed code is very much an interpreted language. Just like Basic was on the old TRS80 (by Microsoft no less).

Managed code is different though in terms of scope. As part of Microsoft's trusted computing initiative (Managed code concept is part of this), it's too tame all those nasty gotcha's caused by bad programing practice. This is why I am not thrilled with the idea. It removes the idea that programers can make stupid and often dangerous mistakes and makes people get a false sense of safety. In general I've found that buggy code comes from two sources lazyness and ignorance, primarily the from the former. This is because anyone who is ignorant can inform themselves at any time, those who don't bother are lazy. :D

All right political rhetoric aside it allows safer enterprise level coding. Oddly you might think this is a new idea. And to that I say, haha. No it's not at all. Microsoft marketing is busily reinventing what IBM and others have been offering for years, with a different name and more hype and glitz. I did mention virtualization, well Managed code IS virtualization. To look at it from a different perspective, it creates a virtual machine that the user can't screw up, this virtual machine is the ".NET" framework. They've obfuscated what they are doing by using different names for the same old 'stuff' repackaged. You can change your code at run time (managed code mode), this is an interpreted language. It has more 'powerful' capabilities but this is more a function of the ".NET" framework... or in unspun normal terms it's run time library.

What they've really changed is improved the backend compilor system to make it more flexible. Hence you can byte compile OR you can compile for 'native' code. If you byte compile the 'framework' must be with you (see star wars 'force' :) ). Obviously if you abstract the platform portability increases in that someone else has to have the framework on a different machine type to run it. This is a two edged sword however, because it does not mean it will actually be portable at all. (See the joke about the 'framework' be with you ;) ).

.NET is fine for business oriented applications where speed is not needed.
However when scientific, embeded, real time, or performance sensitive needs outway the convience of an interpreted language combined with a clever compilor system and run time library, .NET is useless to even try using it.

The syntax is a real puzzler, I think it was MS just trying to create another standard. They do that often I've noticed. New standard's to prevent competition that is.

Cyb
 

civilian0746

evil god
Programming languages :/ Its sad to see how people mix programming and programming languages togeather as if they are the same thing. Pity those who calls themselves "professionals" after learning a few languages but dont even have proper number sense.
 
OP
pegasus001

pegasus001

Normal User
well guys i have to say sth here. First i created this thread because i already program i c++ and i have learned c# because i was told is good and doesn`t need to write a lot of code. Well everything is true. You can read code easily, there are a lot of things which are better. MS has wrapped a lot of C/C++ code in classes which add a lot of overhead. I`ve seen it more when i created a database application for my parents bussiness and needless to say it behaved not very fast but when i saw at the code it was too little. I know that i don`t have to say these things but i will use c# when i have to write application fast or when i don`t have much time. Then i don`t have to install any virtual machine because windows already installs the .NET framework. Well by reading all your posts i gained a lot of knowledge, thank YOU everybody.
 
OP
pegasus001

pegasus001

Normal User
Programming languages :/ Its sad to see how people mix programming and programming languages togeather as if they are the same thing. Pity those who calls themselves "professionals" after learning a few languages but dont even have proper number sense.
i guess that you use programming languages to write your programs, right.
 

Poobah

New member
Pegasus, the difference should be obvious. It's similar to differentiating between languages and communication.
 

civilian0746

evil god
Something like that. Its like you want express what is on your brain in a foreign language. Does not matter if its french or german. As long as you got the message through, its good enough.

A better example would be something like: given a map, finding the shortest route from start to end of a dungeon. Not going into professional bullshit, the programming part at a high level is mainly deciding on a strategy to solve the problem. For example, a typical solution might be following each root to find the length of each route and picking the shortest from that. Or a branch may lead to dead end etc... Routes and branches...dong..rings bells...you're gona use trees. You might want to add some extra stuff to the design of your solution such as not having to go through through the same route twice if 2 routes merge and keeping track of dead ends. You can decide on a few other constrains and ideas or decide as you code. But it does not really matter if you are doing them in c or doing something neat with oop in c++ or java. The result is the shortest route. It will give the same results with c as pascal as long as the solution is the same. Those languages are "used" to program and hence is small part of programming but programming is the whole thing which involves a lot more behind the scene than just expressing the solution.
 
Last edited:

Top