Page 5 of 6 [ 90 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next

amboxer21
Deinonychus
Deinonychus

User avatar

Joined: 23 Jun 2011
Age: 39
Gender: Male
Posts: 350
Location: New Jersey

28 Jun 2012, 3:11 pm

MyFutureSelfnMe wrote:
GTK is a writeoff. Having to launch an X server on Windows, they might as well have not bothered porting to Windows if the port is going to be like that.


Woah, woah.... take it easy lol



MyFutureSelfnMe
Veteran
Veteran

User avatar

Joined: 26 Feb 2010
Age: 47
Gender: Male
Posts: 1,385

28 Jun 2012, 6:00 pm

amboxer21 wrote:
MyFutureSelfnMe wrote:
GTK is a writeoff. Having to launch an X server on Windows, they might as well have not bothered porting to Windows if the port is going to be like that.


Woah, woah.... take it easy lol


That stuff impacts the user. Never take it easy on things that impact the user :)



RazorEddie
Veteran
Veteran

User avatar

Joined: 18 Jan 2012
Age: 56
Gender: Male
Posts: 610

29 Jun 2012, 5:22 pm

Tomatoes wrote:
In java anything created using swing looks a bit unhealthy. And using gtk and qt on windows is not better than java. But I like java to write rapidly some programs and they can run on any platform that support java.


Have you looked at wxWidgets? It is a cross-platform C++ library that uses the native controls wherever possible. Apps built under Windows look like any other Windows app. On Linux it uses GTK. Mac apps look correct as well. There are several WYSIWYG resource editors available. My favorite is wxSmith in Code::Blocks. These days I use it for all my GUI based projects.


_________________
I stopped fighting my inner demons. We're on the same side now.


MyFutureSelfnMe
Veteran
Veteran

User avatar

Joined: 26 Feb 2010
Age: 47
Gender: Male
Posts: 1,385

01 Jul 2012, 3:50 pm

RazorEddie wrote:
Tomatoes wrote:
In java anything created using swing looks a bit unhealthy. And using gtk and qt on windows is not better than java. But I like java to write rapidly some programs and they can run on any platform that support java.


Have you looked at wxWidgets? It is a cross-platform C++ library that uses the native controls wherever possible. Apps built under Windows look like any other Windows app. On Linux it uses GTK. Mac apps look correct as well. There are several WYSIWYG resource editors available. My favorite is wxSmith in Code::Blocks. These days I use it for all my GUI based projects.


I used wxWidgets circa 1998, when it was called wxWindows. I compared it to Qt and Qt was more complete at the time. I believe Qt is still more professional and complete and has a saner API.



01 Aug 2012, 12:35 pm

I don't understand why folks like MyFutureSelfnMe & Burzum get so butthurt by criticism of the Java programming language. My best pal J has a PhD in CS, has been programming for the last 25 years, and what he and other seasons programmers tell me is that in their opinon, C++ is too powerful and more specifically too flexible. That is, it's flexibility leaves a lot of room for errors whereas the more modern objected oriented languages have more restrictions to prevent programmers from screwing up memory management. I don't know Ruby or Perl, but I do know Python which is really wonderful language that is surprisingly flexible. But programming languages don't just come out of the void these days, they are almost always based on pre-existing languages. But I have done some audio programming recently using Python, Java, and c++. And lemme tell ya, neither Python nor Java have the tools necessary for real time audio(like the Google Moog for example). I do wonder why people actually like Java though......



MyFutureSelfnMe
Veteran
Veteran

User avatar

Joined: 26 Feb 2010
Age: 47
Gender: Male
Posts: 1,385

01 Aug 2012, 1:48 pm

AspieRogue wrote:
I don't understand why folks like MyFutureSelfnMe & Burzum get so butthurt by criticism of the Java programming language. My best pal J has a PhD in CS, has been programming for the last 25 years, and what he and other seasons programmers tell me is that in their opinon, C++ is too powerful and more specifically too flexible. That is, it's flexibility leaves a lot of room for errors whereas the more modern objected oriented languages have more restrictions to prevent programmers from screwing up memory management. I don't know Ruby or Perl, but I do know Python which is really wonderful language that is surprisingly flexible. But programming languages don't just come out of the void these days, they are almost always based on pre-existing languages. But I have done some audio programming recently using Python, Java, and c++. And lemme tell ya, neither Python nor Java have the tools necessary for real time audio(like the Google Moog for example). I do wonder why people actually like Java though......


I am a seasoned pro, and I am the one who was criticizing Java, not getting butthurt by criticism of it. I think garbage collected languages are fundamentally/theoretically wrong, and that wrongness rears its head in practical ways. You are correct that it's possible to screw up in C++, but what's important is being able to diagnose your screwups rapidly. I think in either sense, if you know what you're doing, you're fine. You could theoretically manipulate realtime audio in Java, but you'd have to meticulously write your code to not create any objects while processing a frame. Hence why I think the GC is wrong.



peterd
Veteran
Veteran

User avatar

Joined: 25 Dec 2006
Age: 74
Gender: Male
Posts: 1,375

02 Aug 2012, 7:37 am

Let's face it - if you're a programmer, there's the language you're using at the moment, and there are all the rest. It's really hard to be objective. Currently, between work and hobbies, I write Sharepoint, C#, Java, XQuery and Objective C and you know what? There's little to choose between them. If you want to write for iOS then Objective C is the only choice. If your workplace insists on Java then it's that or nothing and if you're a Sharepoint site then you'd better be OK with C#. Well, you can hook up to Java web services or XQuery ones, but there's only one way to show them.



MyFutureSelfnMe
Veteran
Veteran

User avatar

Joined: 26 Feb 2010
Age: 47
Gender: Male
Posts: 1,385

02 Aug 2012, 12:08 pm

peterd wrote:
Let's face it - if you're a programmer, there's the language you're using at the moment, and there are all the rest. It's really hard to be objective. Currently, between work and hobbies, I write Sharepoint, C#, Java, XQuery and Objective C and you know what? There's little to choose between them. If you want to write for iOS then Objective C is the only choice. If your workplace insists on Java then it's that or nothing and if you're a Sharepoint site then you'd better be OK with C#. Well, you can hook up to Java web services or XQuery ones, but there's only one way to show them.


It's possible to structure iOS apps of any significant complexity as a C++ backend and ObjC platform dependent layer. Just sayin :) I suppose this also applies to Sharepoint like you mentioned, etc. Languages come and go.

I haven't seen any jobs so far that are Java-only, but if I did I would likely not apply. In part because if they're going to fix themselves on the straight and narrow as far as languages, they are probably not fun people to work for/with. I use plenty of languages.



Robdemanc
Veteran
Veteran

User avatar

Joined: 30 May 2010
Age: 49
Gender: Male
Posts: 2,872
Location: England

03 Aug 2012, 1:38 pm

I've just started relearning Java. I managed to find some really old stuff from Uni that I wrote and have spent days reading the code and looking at all the objects to see how it all worked.

I've done C, and C# but not much in C++.



MyFutureSelfnMe
Veteran
Veteran

User avatar

Joined: 26 Feb 2010
Age: 47
Gender: Male
Posts: 1,385

04 Aug 2012, 12:21 am

Robdemanc wrote:
I've just started relearning Java. I managed to find some really old stuff from Uni that I wrote and have spent days reading the code and looking at all the objects to see how it all worked.

I've done C, and C# but not much in C++.


I think the proper way to learn C++ is to first learn C, so that would make you off to the right start :)



morslilleole
Veteran
Veteran

User avatar

Joined: 17 Dec 2011
Age: 38
Gender: Male
Posts: 511
Location: Norway

04 Aug 2012, 1:53 pm

MyFutureSelfnMe wrote:
Robdemanc wrote:
I've just started relearning Java. I managed to find some really old stuff from Uni that I wrote and have spent days reading the code and looking at all the objects to see how it all worked.

I've done C, and C# but not much in C++.


I think the proper way to learn C++ is to first learn C, so that would make you off to the right start :)


Why learn C before C++? I haven't done any C, but from what I know it complicates things. You don't have a standard library, so you have to use char* instead of std::string, no classes, structs can't have functions and it's quite focused around the C functions, which can be quite confusing. Not saying your answer is wrong, just curious to what advantages learning C before C++ has.

I don't really think there is a right way to do it. The comon recomendation is to learn another language first to learn the basics of programming, then move into C++ and learn about pointers, standard library, stl etc.



Tomatoes
Toucan
Toucan

User avatar

Joined: 25 Jun 2012
Gender: Male
Posts: 264

04 Aug 2012, 4:02 pm

It's probable the stl wasn't meant to make the life of beginners easier. When I learned C++ there was a debate about if it's better to learn C first or learn C++ first. But this debate happened before C++ was standardized. I think it's better to learn C first if it's the learner's first language. And the purpose for that is object orientation can be confusing for a lot of beginners in computer programming. About learning C or C++ first has no consequences on the learner once one of them is learned. C is like a subset of C++ and C++ is a superset of C. Knowing how to program in C is useful when C++ is not available. But for those who like not putting any effort into mastering a powerful tool, none of these languages is for them.
C helps the beginner in being concise, and C++ help the intermediate programmer with managing the source code. There's no purpose in learning C++ if the learner doesn't want to know how to program in C.



noname_ever
Veteran
Veteran

User avatar

Joined: 25 Dec 2011
Age: 51
Gender: Male
Posts: 500
Location: Indiana

04 Aug 2012, 9:01 pm

morslilleole wrote:
MyFutureSelfnMe wrote:
Robdemanc wrote:
I've just started relearning Java. I managed to find some really old stuff from Uni that I wrote and have spent days reading the code and looking at all the objects to see how it all worked.

I've done C, and C# but not much in C++.


I think the proper way to learn C++ is to first learn C, so that would make you off to the right start :)


Why learn C before C++? I haven't done any C, but from what I know it complicates things. You don't have a standard library, so you have to use char* instead of std::string, no classes, structs can't have functions and it's quite focused around the C functions, which can be quite confusing. Not saying your answer is wrong, just curious to what advantages learning C before C++ has.

I don't really think there is a right way to do it. The comon recomendation is to learn another language first to learn the basics of programming, then move into C++ and learn about pointers, standard library, stl etc.


C was the basis for C++ (C with the increment operator). You don't have the overhead of learning OO and it is a simpler language. Also, C++ is mostly a super set of C. See the compatibility with C section. http://en.wikipedia.org/wiki/C%2B%2B

C has a standard library. It is different than C++'s, but it is there. It used to be called stdlib.h
Structs can have functions, but it's a kludge. Hint: create a typedef of a function pointer to your function. In your structure, add a member of the type of that function pointer. You have just created an "class" in C.
C is a procedural language where C++ is an OO language.
They're different paradigms. Both are still used in the "real world".



noname_ever
Veteran
Veteran

User avatar

Joined: 25 Dec 2011
Age: 51
Gender: Male
Posts: 500
Location: Indiana

04 Aug 2012, 9:10 pm

Tomatoes wrote:
It's probable the stl wasn't meant to make the life of beginners easier. When I learned C++ there was a debate about if it's better to learn C first or learn C++ first. But this debate happened before C++ was standardized. I think it's better to learn C first if it's the learner's first language. And the purpose for that is object orientation can be confusing for a lot of beginners in computer programming. About learning C or C++ first has no consequences on the learner once one of them is learned. C is like a subset of C++ and C++ is a superset of C. Knowing how to program in C is useful when C++ is not available. But for those who like not putting any effort into mastering a powerful tool, none of these languages is for them.
C helps the beginner in being concise, and C++ help the intermediate programmer with managing the source code. There's no purpose in learning C++ if the learner doesn't want to know how to program in C.


STL was added to make it comparable to languages that already supported generic programming. Generic programming was a very powerful concept. Implementing STL also allowed developers the chance to stop abusing the pre-processor to do it. This abuse is still done in C programs today.

I disagree with C being a good beginner language. It is too hardware oriented. Other languages seemed better for teaching if the person didn't know the basics. Pascal was an immensely better language for teaching, IMO. C started making much more sense to me after I started learning an assembly language.



MyFutureSelfnMe
Veteran
Veteran

User avatar

Joined: 26 Feb 2010
Age: 47
Gender: Male
Posts: 1,385

04 Aug 2012, 11:52 pm

C++ is roughly a superset of C, and you won't *really* understand what is going on in C++ unless you know C. The standard library is the least of your worries.



morslilleole
Veteran
Veteran

User avatar

Joined: 17 Dec 2011
Age: 38
Gender: Male
Posts: 511
Location: Norway

05 Aug 2012, 1:25 am

noname_ever wrote:
morslilleole wrote:
MyFutureSelfnMe wrote:
Robdemanc wrote:
I've just started relearning Java. I managed to find some really old stuff from Uni that I wrote and have spent days reading the code and looking at all the objects to see how it all worked.

I've done C, and C# but not much in C++.


I think the proper way to learn C++ is to first learn C, so that would make you off to the right start :)


Why learn C before C++? I haven't done any C, but from what I know it complicates things. You don't have a standard library, so you have to use char* instead of std::string, no classes, structs can't have functions and it's quite focused around the C functions, which can be quite confusing. Not saying your answer is wrong, just curious to what advantages learning C before C++ has.

I don't really think there is a right way to do it. The comon recomendation is to learn another language first to learn the basics of programming, then move into C++ and learn about pointers, standard library, stl etc.


C was the basis for C++ (C with the increment operator). You don't have the overhead of learning OO and it is a simpler language. Also, C++ is mostly a super set of C. See the compatibility with C section. http://en.wikipedia.org/wiki/C%2B%2B

C has a standard library. It is different than C++'s, but it is there. It used to be called stdlib.h
Structs can have functions, but it's a kludge. Hint: create a typedef of a function pointer to your function. In your structure, add a member of the type of that function pointer. You have just created an "class" in C.
C is a procedural language where C++ is an OO language.
They're different paradigms. Both are still used in the "real world".


I know C++ is based on C, it was originally called "C with classes", I think. But I'm still curious to whether there is any big advantage to learn C before C++ as oposed to learning Java or C# before C++? I know C is more similar to C++ in some ways, but to me, C seems a bit complicated for a first language. And the only two C specific things I ever use ( as far as I know ) are char* and sometimes the old c functions. ( which can be very confusing, not something you want to try to use when you are starting to learn programming. ) I think I've heard that the old C functions can be skipped entirely too, leaving you with an easier language.

And as you say, C is more procedural while C++ is OO. Wouldn't it be an advantage to learn another language that focuses more on OO?