RMRK is retiring.
Registration is disabled. The site will remain online, but eventually become a read-only archive. More information.

RMRK.net has nothing to do with Blockchains, Cryptocurrency or NFTs. We have been around since the early 2000s, but there is a new group using the RMRK name that deals with those things. We have nothing to do with them.
NFTs are a scam, and if somebody is trying to persuade you to buy or invest in crypto/blockchain/NFT content, please turn them down and save your money. See this video for more information.
Programming Languages

0 Members and 11 Guests are viewing this topic.

********
Hungry
Rep:
Level 96
Mawbeast
2013 Best ArtistParticipant - GIAW 11Secret Santa 2013 ParticipantFor the great victory in the Breakfast War.2012 Best Game Creator (Non-RM Programs)~Bronze - GIAW 9Project of the Month winner for December 2009Project of the Month winner for August 20082011 Best Game Creator (Non RM)Gold - GIAW Halloween
Sure, you can totally ignore cmath and string, but you can't ignore iostream and namespace std; unless you don't want to do anything useful at all with your program, which are GUESS WHAT compiled lists of functions and possibly some classes or class references.  Nice job completely avoiding the use of methods other than main.  So much for avoiding OOP.

Also I looked up delegates, and they are as OOP as it gets, they're essentially Function Pointers.  They're designed for use with multiple class methods that might have the same signature, to speed up programming and make code more efficient.  They have zero to do with procedural programming.

You can keep saying C++ was designed to provide and take advantage of an archaic and obsolete programming style if you want, and I'll tell you that it was designed to provide and take advantage of something actually useful.

If you don't understand how to work with OOP, you will be USELESS in the real world.

FCF3a A+ C- D H- M P+ R T W- Z- Sf RLCT a cmn+++ d++ e++ f h+++ iw+++ j+ p sf+
Follow my project: MBlok | Find me on: Bandcamp | Twitter | Patreon

******
Rep:
Level 91
Sure, you can totally ignore cmath and string, but you can't ignore iostream and namespace std; unless you don't want to do anything useful at all with your program, which are GUESS WHAT compiled lists of functions and possibly some classes or class references.  Nice job completely avoiding the use of methods other than main.  So much for avoiding OOP.

Also I looked up delegates, and they are as OOP as it gets, they're essentially Function Pointers.  They're designed for use with multiple class methods that might have the same signature, to speed up programming and make code more efficient.  They have zero to do with procedural programming.

You can keep saying C++ was designed to provide and take advantage of an archaic and obsolete programming style if you want, and I'll tell you that it was designed to provide and take advantage of something actually useful.

If you don't understand how to work with OOP, you will be USELESS in the real world.

dude seriously....

Let's ignore for a second what can be avoided in c++ or what you shouldn't call 'useless' that has no touch with i/o, a class can be done in procedural code, because you can in fact write keyword class, it's just very hard work and you are pretty much bound to end up with something less good than the original one.

And I never said delegates are procedural they are though in very large use for event oriented.
Yes they are like function pointers but they are so much more too.
They can be used as magic little triggers.
This is the concept of event oriented, I do something, a function triggers, it does something, another triggers.
It's pretty much enough that you go ahead and create a button in c# and connect it to some function, then in that function you force-push another button hence triggering another and it's already event oriented.
That's really all there is to it.
Yes delegates can be used as plain function pointers, resolving problems such as 2 classes depending on each other, but again, it can be your gateway to the OE world

I however don't see how this remotely makes things speed up, in fact by merely using classes you already say "Speed? who needs that!"
Which is why c++ once again is great, as while you can do some things with classes, you can keep your vital parts of the program procedural, and not having a garbage collector which can really kick in at the worse of times is a yet anther good thing.
(Unless you enjoy not having to use delete[], and hence avoiding a lot of run-time bugs)

And you can keep saying that procedural programming is obsolete, but there is a pretty good reason operation systems and anything low-level and vital to any machine is not making use of OOP.
That's without mentioning that you'd actually be happier with assembly than with C if there is a rocket you need to shoot down.
It's all about the fact that Classes make it easier for the programmer but the machine itself is being forced into reading and executing a lot more lines than it should.

And your last line is just... too incorrect.
There are 2 types of jobs out there (Sooner or later I'll have to choose and I think I'll go with oop despite my affection to procedural and performance)
1. low-level - drivers, embedded, operating systems, anything you need to run FAST
2. high-level - Anything that runs on top of a low-level program and hence can be slower.
The first pays a lot more but a lot harder to do, a lot more tedious and takes a lot more time.
For example A simple recursive function searching for values in leafs of a given tree and returns the sum.
In C this takes about 7 rows, in assembly this takes about 60.
Which is faster? the assembly one.
Why? because when you translate 7 rows in C into assembly you are going to see a lot of code that just doesn't fit with your current program and could have been removed but since every line you write in C not to mention C# has to be "1 size fits them all" then juggling a few extra registers is needed.

And that sir is why procedural programing is NEVER going out of the system.
holy shit my sig was big!

********
Hungry
Rep:
Level 96
Mawbeast
2013 Best ArtistParticipant - GIAW 11Secret Santa 2013 ParticipantFor the great victory in the Breakfast War.2012 Best Game Creator (Non-RM Programs)~Bronze - GIAW 9Project of the Month winner for December 2009Project of the Month winner for August 20082011 Best Game Creator (Non RM)Gold - GIAW Halloween
My last point isn't incorrect, because you ain't going to get a job programming all of that advanced low level stuff without a damn good resume, and you won't be able to do an entry level job if you don't know OOP.

Procedural programming is considered obsolete for making PROGRAMS.  Frameworks and Drivers and etc... that run in the background sure it can be faster, but that's not what he's asking about.  He's asking about school and learning to program and what he should be expected to know.  He -will- be expected to know OOP.  Unless he's going to work for Micro$haft or Nvidia or something he won't be expected to know how to program base level stuff, and even then he might not be expected to know that because he might not even be getting a job doing that.

On C#, consider that the button is an object, it's not about the event, it's about the function of the object :)  And yeah, with pointers in C++ you delete a lot, it's part of using them properly.

I never said C# was faster than C either, btw.  I was saying that Delegates make the use of functions more efficient, which is true.

He's not looking to learn how to program drivers and operating systems, he's asking about learning how to program, which isn't going to be how to program an OS, it's going to be OOP and it's going to probably be C++.

I never said that base level programming was going away, I said for programming programs it's obsolete, there's no reason to write a program for Windows in Assembly when you can write it in C++ unless you're a masochist.  The performance difference is completely negligible for anything other than base level interaction with hardware.

FCF3a A+ C- D H- M P+ R T W- Z- Sf RLCT a cmn+++ d++ e++ f h+++ iw+++ j+ p sf+
Follow my project: MBlok | Find me on: Bandcamp | Twitter | Patreon

******
Rep:
Level 91
My last point isn't incorrect, because you ain't going to get a job programming all of that advanced low level stuff without a damn good resume, and you won't be able to do an entry level job if you don't know OOP.

Procedural programming is considered obsolete for making PROGRAMS.  Frameworks and Drivers and etc... that run in the background sure it can be faster, but that's not what he's asking about.  He's asking about school and learning to program and what he should be expected to know.  He -will- be expected to know OOP.  Unless he's going to work for Micro$haft or Nvidia or something he won't be expected to know how to program base level stuff, and even then he might not be expected to know that because he might not even be getting a job doing that.

On C#, consider that the button is an object, it's not about the event, it's about the function of the object :)  And yeah, with pointers in C++ you delete a lot, it's part of using them properly.

I never said C# was faster than C either, btw.  I was saying that Delegates make the use of functions more efficient, which is true.

He's not looking to learn how to program drivers and operating systems, he's asking about learning how to program, which isn't going to be how to program an OS, it's going to be OOP and it's going to probably be C++.

I never said that base level programming was going away, I said for programming programs it's obsolete, there's no reason to write a program for Windows in Assembly when you can write it in C++ unless you're a masochist.  The performance difference is completely negligible for anything other than base level interaction with hardware.

1. Our countries aren't the same, here you can choose your path, all you have to do is go through some tests to see if your skills fit the company.
(Of course this doesn't have anything to do with your point being correct under the USA conditions but just stating something)

2. I thought we stopped caring about what he is asking about, I am not going to tell a programming newbie to learn assembly.
I still encourage c++ and C because knowing procedural programming is important as it lets you get a better understanding about how everything works below surface.
Going Top-down starting with OOP I believe is more confusing.
But that's just my opinion.

3. The button is the object, the trigger is the event.
It's not easy to explain, but assume you want to do something when someone closes to program, yes you can put a huge "While" on main's code and do whatever when user steps out of the while, but isn't it so much cuter when you can trigger something upon a click?
And maybe you'd want to trigger something else based on what happened so far?
Events allow you to add or remove functions to be called inside the actual program part and allow you to call them upon the user's push of the X button on the top right.
It doesn't honestly differ much from oop, and the function pointers did exist back in C but it's a new "line of thought" when you design your program.

But yes this has gone far away from the original point.
holy shit my sig was big!

********
Hungry
Rep:
Level 96
Mawbeast
2013 Best ArtistParticipant - GIAW 11Secret Santa 2013 ParticipantFor the great victory in the Breakfast War.2012 Best Game Creator (Non-RM Programs)~Bronze - GIAW 9Project of the Month winner for December 2009Project of the Month winner for August 20082011 Best Game Creator (Non RM)Gold - GIAW Halloween
Every active programming language is 'technically' event driven, or state driven in logic because that's how humans think.  I'm talking about the syntax and structure being Object Oriented, not based around Events.

They teach OOP first because it gets you in the mindset of thinking along with computer logic and it's easier to teach.  It makes plenty of sense.

FCF3a A+ C- D H- M P+ R T W- Z- Sf RLCT a cmn+++ d++ e++ f h+++ iw+++ j+ p sf+
Follow my project: MBlok | Find me on: Bandcamp | Twitter | Patreon

******
Rep:
Level 91
Every active programming language is 'technically' event driven, or state driven in logic because that's how humans think.  I'm talking about the syntax and structure being Object Oriented, not based around Events.

They teach OOP first because it gets you in the mindset of thinking along with computer logic and it's easier to teach.  It makes plenty of sense.

-Not really no, In a sense yes but then you could call procedural programming object oriented because numbers are objects and it's not really fitting there now does it?
In event oriented you'll see a lot of functions called "On button click, onMenu1Tab3Open, onTextChange" and so on, An event happens at some point, and any of them could happen at any point, and you response.
This is really the core reason for the return of the function pointers.
I know something might happen, I don't know what will it happen to , how or when, so I'll make sure I have what to do about it.
In normal OOP I usually know what's going to happen and I know how I'll deal with it as I program it.
C# opens a gate but it doesn't force you to go in.
Anything that can be done with delegates in c# can be done with interfaces, keeping it event-free, it's all about designing rather than functionality.

-They teach you Bottm-Up here rather than top-down which is why to me that makes more sense, it's all about your education.
holy shit my sig was big!

********
Hungry
Rep:
Level 96
Mawbeast
2013 Best ArtistParticipant - GIAW 11Secret Santa 2013 ParticipantFor the great victory in the Breakfast War.2012 Best Game Creator (Non-RM Programs)~Bronze - GIAW 9Project of the Month winner for December 2009Project of the Month winner for August 20082011 Best Game Creator (Non RM)Gold - GIAW Halloween
That's because some of the core updating is done automatically in C#, making the logic operate differently.  That doesn't change the structure of data storage.

OOP is about the way the data is structured, segmented, and organized, not about the logic employed, or how particular parts of the runtime are handled.

FCF3a A+ C- D H- M P+ R T W- Z- Sf RLCT a cmn+++ d++ e++ f h+++ iw+++ j+ p sf+
Follow my project: MBlok | Find me on: Bandcamp | Twitter | Patreon

*
A Random Custom Title
Rep:
Level 96
wah
OKAY GUYS, BUMP. lol. Why? I think as I reach closer to college applications and thinking about college, I should really start being a little more serious. So, I decided I wanted to take either Java or C++ and just run with it and see how far I can go.

WHICH TO DO? If anyone's offering any personal help for either language, too, that'd be cool 8D

****
Rep:
Level 83
Personally, I would choose C++.
However, Java has it's own garbage collection, and on some machines, it has been almost as fast as C++.

*
A Random Custom Title
Rep:
Level 96
wah
Yeah, I often hear that C++ is the most used, but then I also hear that Java is, too. >_> And my current conflict is "Minecraft is made in Java!" but then I often hear the "Minecraft should be recoded in C++!"

*
A Random Custom Title
Rep:
Level 96
wah
ba-ba-ba-bamp so I can start while I'm still focused, lol

*
Resident Cloud
Rep:
Level 91
Java->C->C++->Any Language

Currently learning C++ with my university, some guy talked about pointers so i ignored him

*
A Random Custom Title
Rep:
Level 96
wah
I'll probably go with that since a person with code as his name is saying it, but any particular reason for that? And do you know of any free or "free" sources of learning? P:

*
Resident Cloud
Rep:
Level 91
I'll probably go with that since a person with code as his name is saying it, but any particular reason for that? And do you know of any free or "free" sources of learning? P:

Java is lenient with you, itll let you code badly and maybe still work but wont take any shit.
C is a bureaucrat it wants everything done in its own special way.
C++ is easier to learn if youve managed to learn C.

C++ is a nice way of telling you, programming is really easy.

As for resources, try the internet or books.

I pay £0.01 for all my books :V they may be older editions but meh the internet will update me

*
A Random Custom Title
Rep:
Level 96
wah
*snicker* WTH? Code badly? How so? o_O
^ (EDIT: wow, word filter, lol)

Also, is it necessary to learn C before learning C++ or is it worth learning C?

Also, is it possible to buy the books for £0.01 online? ;-; I have PayPal with, like, $2 and that's probably enough, *snicker*.

*
Resident Cloud
Rep:
Level 91
Delivery hits ya, i pay £2.50 ish deliver for the books, so probably no.

If you learn C youll apreciate C++

*
A Random Custom Title
Rep:
Level 96
wah
oh what theee *snicker* No online books? Drats P: Okay, I'll look around; if you have any specific names that you'd recommend, I'd be delighted!

EDIT: I got "Effective Java 2nd Edition," "Head First Java 2nd Edition," and "Java How to Program, 7th Edition."

I heard the second one I listed was good to start and the first is good to become good. Have you heard of those? P:

EDIT: "Head First Java" seems pretty nice and interesting, and, despite the typo I found early on, I will still look into it unless you say otherwise, Lord Ahref.
« Last Edit: October 05, 2010, 12:39:03 AM by mastermoo420 »

*
A Random Custom Title
Rep:
Level 96
wah
I have the Java SDK 6u21. How come javac isn't anywhere to be found? D8

*
Resident Cloud
Rep:
Level 91
did you set your path variables?

*
A Random Custom Title
Rep:
Level 96
wah
Yeah; I looked inside the /bin folder, and there's not javac in there.

****
Rep:
Level 84
Is a New Zealander
You sure you got the JDK and not the JRE?
I'm much too lazy to put an actual signature here.

*
A Random Custom Title
Rep:
Level 96
wah
Yeah, I would think the file named "jdk-6u21-windows-x64.exe" would be the JDK. Not to be condescending, but I just wanted to tell you that the file I installed was named that, lol.

****
Rep:
Level 84
Is a New Zealander
Just making sure, no javac in your bin folder sounded like a classic JRE install.

You could try installing a slightly older version? Or just googling around and see if anyone else has the same problem?

Also, try re-installing it.
I'm much too lazy to put an actual signature here.

*
A Random Custom Title
Rep:
Level 96
wah
I've tried re-installing. P:

EDIT: Okay, I realized that I only put the x86 path in my PATHs, and that was the JRE. The JDK was in the x64 Program Files. P:

EDIT: No wait, wth LOL my computer only has JRE... wth.
« Last Edit: October 07, 2010, 11:06:54 PM by mastermoo420 »

*
You zetta sons of digits.
Rep:
Level 91
SMEEEEE HEEEEEE
Or just use netbeans?

It has a inbuilt compiler