|
Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks. |
On February 11 2011 13:04 Cloud wrote:Show nested quote +On February 11 2011 12:59 iMbc wrote: I have a question...
I'm fairly new to programming and i'm learning c# and I was wondering what kind of stuff should I start with? IMHO certainly not c# :p. You don't wanna start out with a language designed for structured teams of developers and even less a language designed for programming windows apps (the horror). You won't be able to be nearly as productive as with more powerful languages. Python/scheme are better places to start. Resources for Python: * http://www.amazon.com/gp/product/1887902996* Tutorials on python.org * http://www.norvig.com/index.html <- Really cool stuff, not really for a beginner but it might inspire you, also good for lisp (Scheme is a lisp dialect) Resources for Scheme: SICP (Challenging, requires a lot of dedication but well worth it) Book is free, you can google it. The little schemerPython is powerful, well documented, well recognized, widely used. Scheme is clean and small, completely lacks a syntax, probably best language to learn about actual programming without needing to learn so much about the rules of the language itself. Pick one, study the tutorials, find the community of that particular language (most important) and become a part of it. Python would be cool language without the formatting requirements, but it is reasonably good language for learning. But as far as learning basic concepts of programming I think Pascal is still good, although in practice kind of useless. If you are really serious about programming you should at some point pick C/C++ to learn about pointers,... As for functional/logical programming I love it, but I am unsure it is really necessary to learn unless you have some specific reasons for it(if you are studying CS then definitely). If you decide so I would add Prolog as example of logical programming.
|
On February 11 2011 22:46 Cambium wrote:Show nested quote +On February 11 2011 22:41 10or10 wrote:On February 11 2011 22:32 Morfildur wrote:On February 11 2011 13:04 Cloud wrote:On February 11 2011 12:59 iMbc wrote: I have a question...
I'm fairly new to programming and i'm learning c# and I was wondering what kind of stuff should I start with? IMHO certainly not c# :p. You don't wanna start out with a language designed for structured teams of developers and even less a language designed for programming windows apps (the horror). You won't be able to be nearly as productive as with more powerful languages. Python/scheme are better places to start. Resources for Python: * http://www.amazon.com/gp/product/1887902996* Tutorials on python.org * http://www.norvig.com/index.html <- Really cool stuff, not really for a beginner but it might inspire you, also good for lisp (Scheme is a lisp dialect) Resources for Scheme: SICP (Challenging, requires a lot of dedication but well worth it) Book is free, you can google it. The little schemerPython is powerful, well documented, well recognized, widely used. Scheme is clean and small, completely lacks a syntax, probably best language to learn about actual programming without needing to learn so much about the rules of the language itself. Pick one, study the tutorials, find the community of that particular language (most important) and become a part of it. I do all my private development in C#, including linux applications. Calling C# a Windows/Microsoft-Only language only shows that people never tried to learn about it. I also found it to be a far more productive language than any other i've tried (including python, ruby, scheme, java,...). I wouldn't recommend starting with scheme, it's a very complex language and even though i like the functional programming i found it to be very... problematic when used in a pure functional environment. I very much prefer the functional extensions of C#, though, yes, i found them a lot more useful after trying scheme for a while and learning the functional thought patterns. Python is a nice language, it's ok to learn it and definatly won't hurt for private programming. It's a growing language but for professional development i don't see a market, it won't help you much if you want to find a job with the language of your choice, though it will teach you a lot of design and style aspects that will help you develop better in other languages (as do C# and Ruby). I've only worked with C, C++ and Java, a part from some scripting langauges, and want to know in what way do you find C# more productive than Java? Yea I'm curious about this too. In my past experiences, C# was only useful with VS building front-end windows apps. I know you can write server code with it too, but I never understood/researched the advantages of using it over Java. I have used Java very little since I was using C/C++ for a loong time. And when choosing Java vs C# , the latter was easy pick thanks to the familiar "code structure". I would say for former C programmers at least at the start Java seems kind of too bloated and instinctively strange, so I think the productivity thing is maybe just subjective thing ?
|
Graduating from Northern Illinois in May with my Computer Science degree. Currently enrolled in java, web development, and some lame system architecture class with an awful teacher. Java I am kinda excited to start learning, wrote my first program last week for that class.
|
On February 12 2011 07:46 mcc wrote:Show nested quote +On February 11 2011 22:46 Cambium wrote:On February 11 2011 22:41 10or10 wrote:On February 11 2011 22:32 Morfildur wrote:On February 11 2011 13:04 Cloud wrote:On February 11 2011 12:59 iMbc wrote: I have a question...
I'm fairly new to programming and i'm learning c# and I was wondering what kind of stuff should I start with? IMHO certainly not c# :p. You don't wanna start out with a language designed for structured teams of developers and even less a language designed for programming windows apps (the horror). You won't be able to be nearly as productive as with more powerful languages. Python/scheme are better places to start. Resources for Python: * http://www.amazon.com/gp/product/1887902996* Tutorials on python.org * http://www.norvig.com/index.html <- Really cool stuff, not really for a beginner but it might inspire you, also good for lisp (Scheme is a lisp dialect) Resources for Scheme: SICP (Challenging, requires a lot of dedication but well worth it) Book is free, you can google it. The little schemerPython is powerful, well documented, well recognized, widely used. Scheme is clean and small, completely lacks a syntax, probably best language to learn about actual programming without needing to learn so much about the rules of the language itself. Pick one, study the tutorials, find the community of that particular language (most important) and become a part of it. I do all my private development in C#, including linux applications. Calling C# a Windows/Microsoft-Only language only shows that people never tried to learn about it. I also found it to be a far more productive language than any other i've tried (including python, ruby, scheme, java,...). I wouldn't recommend starting with scheme, it's a very complex language and even though i like the functional programming i found it to be very... problematic when used in a pure functional environment. I very much prefer the functional extensions of C#, though, yes, i found them a lot more useful after trying scheme for a while and learning the functional thought patterns. Python is a nice language, it's ok to learn it and definatly won't hurt for private programming. It's a growing language but for professional development i don't see a market, it won't help you much if you want to find a job with the language of your choice, though it will teach you a lot of design and style aspects that will help you develop better in other languages (as do C# and Ruby). I've only worked with C, C++ and Java, a part from some scripting langauges, and want to know in what way do you find C# more productive than Java? Yea I'm curious about this too. In my past experiences, C# was only useful with VS building front-end windows apps. I know you can write server code with it too, but I never understood/researched the advantages of using it over Java. I have used Java very little since I was using C/C++ for a loong time. And when choosing Java vs C# , the latter was easy pick thanks to the familiar "code structure". I would say for former C programmers at least at the start Java seems kind of too bloated and instinctively strange, so I think the productivity thing is maybe just subjective thing ? It depends on what you want to do. If you just want to print out "Hello World" or to read a file (lol@Java for this...), C++ is by far more productive.
However, when you are wishing to build a large and scalable system, I don't think it's a subjective thing that Java is better. With frameworks like Spring, a lot of things are just a lot easier to implement in Java than C++. I've worked at 5 different companies, and without a single exception, they all chose to write their server backend in Java. The performance is most likely (slightly) worse than C++, but you get a lot of benefits ranging from lower cost (shorter implementation cycles throughout and cheaper to hire Java programmers too!), to maintenance, security, etc. etc.
|
On February 11 2011 23:26 Cambium wrote:Show nested quote +On February 11 2011 23:13 Morfildur wrote:On February 11 2011 22:46 Cambium wrote:On February 11 2011 22:41 10or10 wrote:On February 11 2011 22:32 Morfildur wrote:On February 11 2011 13:04 Cloud wrote:On February 11 2011 12:59 iMbc wrote: I have a question...
I'm fairly new to programming and i'm learning c# and I was wondering what kind of stuff should I start with? IMHO certainly not c# :p. You don't wanna start out with a language designed for structured teams of developers and even less a language designed for programming windows apps (the horror). You won't be able to be nearly as productive as with more powerful languages. Python/scheme are better places to start. Resources for Python: * http://www.amazon.com/gp/product/1887902996* Tutorials on python.org * http://www.norvig.com/index.html <- Really cool stuff, not really for a beginner but it might inspire you, also good for lisp (Scheme is a lisp dialect) Resources for Scheme: SICP (Challenging, requires a lot of dedication but well worth it) Book is free, you can google it. The little schemerPython is powerful, well documented, well recognized, widely used. Scheme is clean and small, completely lacks a syntax, probably best language to learn about actual programming without needing to learn so much about the rules of the language itself. Pick one, study the tutorials, find the community of that particular language (most important) and become a part of it. I do all my private development in C#, including linux applications. Calling C# a Windows/Microsoft-Only language only shows that people never tried to learn about it. I also found it to be a far more productive language than any other i've tried (including python, ruby, scheme, java,...). I wouldn't recommend starting with scheme, it's a very complex language and even though i like the functional programming i found it to be very... problematic when used in a pure functional environment. I very much prefer the functional extensions of C#, though, yes, i found them a lot more useful after trying scheme for a while and learning the functional thought patterns. Python is a nice language, it's ok to learn it and definatly won't hurt for private programming. It's a growing language but for professional development i don't see a market, it won't help you much if you want to find a job with the language of your choice, though it will teach you a lot of design and style aspects that will help you develop better in other languages (as do C# and Ruby). I've only worked with C, C++ and Java, a part from some scripting langauges, and want to know in what way do you find C# more productive than Java? Yea I'm curious about this too. In my past experiences, C# was only useful with VS building front-end windows apps. I know you can write server code with it too, but I never understood/researched the advantages of using it over Java. Other advantages of C# compared to java: Functional extensions, first class functions, common namings of methods and functions in the .NET library (depending on which java array class you use, it's either .size(), .getLength(), .length, .getCount(), .count(), .getLength(), ... i guess thats the drawback on being open source with no early concept), extension methods, ... Functional extensions: For example if i want the ID properties of all customer objects in an array where the customer registered before 2011 (which reminds me, C# properties are really cool, Python has similar, Java doesn't): Oh, did i mention that the last time i had to use Javas date handling libraries i nearly had to scream because of how complex and unlogical it was? calendar... uhm... yes.... hope for you java folks they improved on that. Oh, and if we want to make that multi-threaded because the sourceArray is very big... we have to use third party libraries in Java or write a lot of code. C# multi-threaded (.NET 4.0): IEnumberable<Int32> results = sourceArray.AsParallel().Where(c => c.RegisteredDate < (new DateTime(2010, 1, 1)).Select(c => c.ID); Extension methods: I recently had the case that i wanted to have the position of units on a map, i stored them as instances of the Point class. I later had the case where i wanted to calculate the distances between units, so instead of creating a new class and using that everywhere, i simply created a "PointExtensions" class and added a GetDistanceTo() method to the original Point class. Oh, did i mention that visual studio 2010 is simply the best IDE i've ever used? Neither eclipse, netbeans, kdevelop, etc even comes close. I had to write Java for a year, but my knowledge is still limited and dated, if anyone wants to correct me i always welcome to learn something new, but imho C# is just a more modern language, though you still pay for it by knowing less about what happens in the background. These are all language nuisances, and I'm sure such things exist in C# as well (I just don't use them enough). Yes, I agree, some things in Java are complete garbage (like date, generics, primitive autoboxing, and lack of functors), but complaining about these issues is downright pointless. I was more curious about the possible security/performance/portability reasons backing your claim. Also, VS is absolute terrible if you have a large project, it takes forever to load, build and run. And don't even get me started on loading the designers if they are interlaced with other designers. Hmm, we used VS on a really humonguous project and it was pretty fast, but that depends on your definition of slow I guess. I don't really remember loading times since I had it open for months without restarting or closing, so maybe.
|
On February 12 2011 07:52 mcc wrote:Show nested quote +On February 11 2011 23:26 Cambium wrote:On February 11 2011 23:13 Morfildur wrote:On February 11 2011 22:46 Cambium wrote:On February 11 2011 22:41 10or10 wrote:On February 11 2011 22:32 Morfildur wrote:On February 11 2011 13:04 Cloud wrote:On February 11 2011 12:59 iMbc wrote: I have a question...
I'm fairly new to programming and i'm learning c# and I was wondering what kind of stuff should I start with? IMHO certainly not c# :p. You don't wanna start out with a language designed for structured teams of developers and even less a language designed for programming windows apps (the horror). You won't be able to be nearly as productive as with more powerful languages. Python/scheme are better places to start. Resources for Python: * http://www.amazon.com/gp/product/1887902996* Tutorials on python.org * http://www.norvig.com/index.html <- Really cool stuff, not really for a beginner but it might inspire you, also good for lisp (Scheme is a lisp dialect) Resources for Scheme: SICP (Challenging, requires a lot of dedication but well worth it) Book is free, you can google it. The little schemerPython is powerful, well documented, well recognized, widely used. Scheme is clean and small, completely lacks a syntax, probably best language to learn about actual programming without needing to learn so much about the rules of the language itself. Pick one, study the tutorials, find the community of that particular language (most important) and become a part of it. I do all my private development in C#, including linux applications. Calling C# a Windows/Microsoft-Only language only shows that people never tried to learn about it. I also found it to be a far more productive language than any other i've tried (including python, ruby, scheme, java,...). I wouldn't recommend starting with scheme, it's a very complex language and even though i like the functional programming i found it to be very... problematic when used in a pure functional environment. I very much prefer the functional extensions of C#, though, yes, i found them a lot more useful after trying scheme for a while and learning the functional thought patterns. Python is a nice language, it's ok to learn it and definatly won't hurt for private programming. It's a growing language but for professional development i don't see a market, it won't help you much if you want to find a job with the language of your choice, though it will teach you a lot of design and style aspects that will help you develop better in other languages (as do C# and Ruby). I've only worked with C, C++ and Java, a part from some scripting langauges, and want to know in what way do you find C# more productive than Java? Yea I'm curious about this too. In my past experiences, C# was only useful with VS building front-end windows apps. I know you can write server code with it too, but I never understood/researched the advantages of using it over Java. Other advantages of C# compared to java: Functional extensions, first class functions, common namings of methods and functions in the .NET library (depending on which java array class you use, it's either .size(), .getLength(), .length, .getCount(), .count(), .getLength(), ... i guess thats the drawback on being open source with no early concept), extension methods, ... Functional extensions: For example if i want the ID properties of all customer objects in an array where the customer registered before 2011 (which reminds me, C# properties are really cool, Python has similar, Java doesn't): Oh, did i mention that the last time i had to use Javas date handling libraries i nearly had to scream because of how complex and unlogical it was? calendar... uhm... yes.... hope for you java folks they improved on that. Oh, and if we want to make that multi-threaded because the sourceArray is very big... we have to use third party libraries in Java or write a lot of code. C# multi-threaded (.NET 4.0): IEnumberable<Int32> results = sourceArray.AsParallel().Where(c => c.RegisteredDate < (new DateTime(2010, 1, 1)).Select(c => c.ID); Extension methods: I recently had the case that i wanted to have the position of units on a map, i stored them as instances of the Point class. I later had the case where i wanted to calculate the distances between units, so instead of creating a new class and using that everywhere, i simply created a "PointExtensions" class and added a GetDistanceTo() method to the original Point class. Oh, did i mention that visual studio 2010 is simply the best IDE i've ever used? Neither eclipse, netbeans, kdevelop, etc even comes close. I had to write Java for a year, but my knowledge is still limited and dated, if anyone wants to correct me i always welcome to learn something new, but imho C# is just a more modern language, though you still pay for it by knowing less about what happens in the background. These are all language nuisances, and I'm sure such things exist in C# as well (I just don't use them enough). Yes, I agree, some things in Java are complete garbage (like date, generics, primitive autoboxing, and lack of functors), but complaining about these issues is downright pointless. I was more curious about the possible security/performance/portability reasons backing your claim. Also, VS is absolute terrible if you have a large project, it takes forever to load, build and run. And don't even get me started on loading the designers if they are interlaced with other designers. Hmm, we used VS on a really humonguous project and it was pretty fast, but that depends on your definition of slow I guess. I don't really remember loading times since I had it open for months without restarting or closing, so maybe.
It also depends on which language you were using and what version of VS it was. For example, VS 2005 was very slow for people with large C++ projects (read: multi-million lines of code). Some hotfixes in 2008 alleviated some of the pain. And now it better in 2010. Although the fact that the IDE is WPE-based now in 2010 has brought its own set of problems.
|
On February 12 2011 00:38 heishe wrote: Java and C# are pretty much equally bad. Both lack some essential features and are dumbed down (compared to more complicated, but much more mighty languages such as C++) in order to be more secure for worse programmers. I'm not sure about C# anymore since I last used it about 4 years ago, but you can't even overload operators in Java. No template programming in either, plus algorithms which are memory-management heavy are a complete and total hell in both C# and Java - performance wise (due to garbage collection and lack of pointer arithmetics). By the way a really minor point that always bothered me greatly with both languages is the lack of a possibilty to separate definition and implementation of classes.
What makes them actually useful are the standard libraries and IDEs which are provided with them (Most people use eclipse for Java and Visual Studio for C#), plus Java is more or less platform independent (requires virtual machines on clients though).
As such they are nice for mediocre software engineers and software architects who need some codemonkeys to code their carefully designed code-structure, and of course in general for GUI designers, because of Swing and Windows Forms (even though I personally think that the swing GUI looks really ugly), but even after working with all 3 languages (Java, C#, C++) extensively, I have always and will always prefer C++. Not sure about some of your statements, but I also still prefer C/C++, but they also have a lot of problems. I looked somewhat at D and found it quite a nice language, so when I have time I am going to try it out some more. Unfortunately it is not too popular.
|
On February 12 2011 03:27 fabiano wrote: This discussion is not productive at all.
People who like to use Java will say Java is the best and blablabla, people who like to use C++ will say C++ is the best blablabla, same for C# and all other languages.
The maintainability is much more attached to software engineering than the language you are actually going to use. Basically yes, but there are some deficiencies in some languages and it is good to address them(like PHP and variable declaration). And of course there are some terribly designed languages.
|
On February 12 2011 07:55 Kambing wrote:Show nested quote +On February 12 2011 07:52 mcc wrote:On February 11 2011 23:26 Cambium wrote:On February 11 2011 23:13 Morfildur wrote:On February 11 2011 22:46 Cambium wrote:On February 11 2011 22:41 10or10 wrote:On February 11 2011 22:32 Morfildur wrote:On February 11 2011 13:04 Cloud wrote:On February 11 2011 12:59 iMbc wrote: I have a question...
I'm fairly new to programming and i'm learning c# and I was wondering what kind of stuff should I start with? IMHO certainly not c# :p. You don't wanna start out with a language designed for structured teams of developers and even less a language designed for programming windows apps (the horror). You won't be able to be nearly as productive as with more powerful languages. Python/scheme are better places to start. Resources for Python: * http://www.amazon.com/gp/product/1887902996* Tutorials on python.org * http://www.norvig.com/index.html <- Really cool stuff, not really for a beginner but it might inspire you, also good for lisp (Scheme is a lisp dialect) Resources for Scheme: SICP (Challenging, requires a lot of dedication but well worth it) Book is free, you can google it. The little schemerPython is powerful, well documented, well recognized, widely used. Scheme is clean and small, completely lacks a syntax, probably best language to learn about actual programming without needing to learn so much about the rules of the language itself. Pick one, study the tutorials, find the community of that particular language (most important) and become a part of it. I do all my private development in C#, including linux applications. Calling C# a Windows/Microsoft-Only language only shows that people never tried to learn about it. I also found it to be a far more productive language than any other i've tried (including python, ruby, scheme, java,...). I wouldn't recommend starting with scheme, it's a very complex language and even though i like the functional programming i found it to be very... problematic when used in a pure functional environment. I very much prefer the functional extensions of C#, though, yes, i found them a lot more useful after trying scheme for a while and learning the functional thought patterns. Python is a nice language, it's ok to learn it and definatly won't hurt for private programming. It's a growing language but for professional development i don't see a market, it won't help you much if you want to find a job with the language of your choice, though it will teach you a lot of design and style aspects that will help you develop better in other languages (as do C# and Ruby). I've only worked with C, C++ and Java, a part from some scripting langauges, and want to know in what way do you find C# more productive than Java? Yea I'm curious about this too. In my past experiences, C# was only useful with VS building front-end windows apps. I know you can write server code with it too, but I never understood/researched the advantages of using it over Java. Other advantages of C# compared to java: Functional extensions, first class functions, common namings of methods and functions in the .NET library (depending on which java array class you use, it's either .size(), .getLength(), .length, .getCount(), .count(), .getLength(), ... i guess thats the drawback on being open source with no early concept), extension methods, ... Functional extensions: For example if i want the ID properties of all customer objects in an array where the customer registered before 2011 (which reminds me, C# properties are really cool, Python has similar, Java doesn't): Oh, did i mention that the last time i had to use Javas date handling libraries i nearly had to scream because of how complex and unlogical it was? calendar... uhm... yes.... hope for you java folks they improved on that. Oh, and if we want to make that multi-threaded because the sourceArray is very big... we have to use third party libraries in Java or write a lot of code. C# multi-threaded (.NET 4.0): IEnumberable<Int32> results = sourceArray.AsParallel().Where(c => c.RegisteredDate < (new DateTime(2010, 1, 1)).Select(c => c.ID); Extension methods: I recently had the case that i wanted to have the position of units on a map, i stored them as instances of the Point class. I later had the case where i wanted to calculate the distances between units, so instead of creating a new class and using that everywhere, i simply created a "PointExtensions" class and added a GetDistanceTo() method to the original Point class. Oh, did i mention that visual studio 2010 is simply the best IDE i've ever used? Neither eclipse, netbeans, kdevelop, etc even comes close. I had to write Java for a year, but my knowledge is still limited and dated, if anyone wants to correct me i always welcome to learn something new, but imho C# is just a more modern language, though you still pay for it by knowing less about what happens in the background. These are all language nuisances, and I'm sure such things exist in C# as well (I just don't use them enough). Yes, I agree, some things in Java are complete garbage (like date, generics, primitive autoboxing, and lack of functors), but complaining about these issues is downright pointless. I was more curious about the possible security/performance/portability reasons backing your claim. Also, VS is absolute terrible if you have a large project, it takes forever to load, build and run. And don't even get me started on loading the designers if they are interlaced with other designers. Hmm, we used VS on a really humonguous project and it was pretty fast, but that depends on your definition of slow I guess. I don't really remember loading times since I had it open for months without restarting or closing, so maybe. It also depends on which language you were using and what version of VS it was. For example, VS 2005 was very slow for people with large C++ projects (read: multi-million lines of code). Some hotfixes in 2008 alleviated some of the pain. And now it better in 2010. Although the fact that the IDE is WPE-based now in 2010 has brought its own set of problems.
Yea, I was talking about corporate/commercial applications. I've used both 2005 and 2008, and opening designers were a nightmare. I heard 2010 was much better, but I've never used it in a corporate setting.
|
On February 12 2011 07:52 Cambium wrote:Show nested quote +On February 12 2011 07:46 mcc wrote:On February 11 2011 22:46 Cambium wrote:On February 11 2011 22:41 10or10 wrote:On February 11 2011 22:32 Morfildur wrote:On February 11 2011 13:04 Cloud wrote:On February 11 2011 12:59 iMbc wrote: I have a question...
I'm fairly new to programming and i'm learning c# and I was wondering what kind of stuff should I start with? IMHO certainly not c# :p. You don't wanna start out with a language designed for structured teams of developers and even less a language designed for programming windows apps (the horror). You won't be able to be nearly as productive as with more powerful languages. Python/scheme are better places to start. Resources for Python: * http://www.amazon.com/gp/product/1887902996* Tutorials on python.org * http://www.norvig.com/index.html <- Really cool stuff, not really for a beginner but it might inspire you, also good for lisp (Scheme is a lisp dialect) Resources for Scheme: SICP (Challenging, requires a lot of dedication but well worth it) Book is free, you can google it. The little schemerPython is powerful, well documented, well recognized, widely used. Scheme is clean and small, completely lacks a syntax, probably best language to learn about actual programming without needing to learn so much about the rules of the language itself. Pick one, study the tutorials, find the community of that particular language (most important) and become a part of it. I do all my private development in C#, including linux applications. Calling C# a Windows/Microsoft-Only language only shows that people never tried to learn about it. I also found it to be a far more productive language than any other i've tried (including python, ruby, scheme, java,...). I wouldn't recommend starting with scheme, it's a very complex language and even though i like the functional programming i found it to be very... problematic when used in a pure functional environment. I very much prefer the functional extensions of C#, though, yes, i found them a lot more useful after trying scheme for a while and learning the functional thought patterns. Python is a nice language, it's ok to learn it and definatly won't hurt for private programming. It's a growing language but for professional development i don't see a market, it won't help you much if you want to find a job with the language of your choice, though it will teach you a lot of design and style aspects that will help you develop better in other languages (as do C# and Ruby). I've only worked with C, C++ and Java, a part from some scripting langauges, and want to know in what way do you find C# more productive than Java? Yea I'm curious about this too. In my past experiences, C# was only useful with VS building front-end windows apps. I know you can write server code with it too, but I never understood/researched the advantages of using it over Java. I have used Java very little since I was using C/C++ for a loong time. And when choosing Java vs C# , the latter was easy pick thanks to the familiar "code structure". I would say for former C programmers at least at the start Java seems kind of too bloated and instinctively strange, so I think the productivity thing is maybe just subjective thing ? It depends on what you want to do. If you just want to print out "Hello World" or to read a file (lol@Java for this...), C++ is by far more productive. However, when you are wishing to build a large and scalable system, I don't think it's a subjective thing that Java is better. With frameworks like Spring, a lot of things are just a lot easier to implement in Java than C++. I've worked at 5 different companies, and without a single exception, they all chose to write their server backend in Java. The performance is most likely (slightly) worse than C++, but you get a lot of benefits ranging from lower cost (shorter implementation cycles throughout and cheaper to hire Java programmers too!), to maintenance, security, etc. etc. You misunderstood I was talking about C#/Java productivity difference and said it is maybe just dependent if the programmer comes from C background.
|
On February 12 2011 00:38 heishe wrote: By the way a really minor point that always bothered me greatly with both languages is the lack of a possibilty to separate definition and implementation of classes.
Sorry, but if you haven't learned about interfaces in java or C# your arguments don't really matter. Actually java and C# has far superior ways of seperating definition and implementation than C++ in ways where your program achitecture is more coherent.
IMO using all 3 languages C++ is a better language for system programming. But most things people point out as good thing in c++ aren't needed. Things like operator overloading is just syntactic sugar for not having aboundent method for doing the same. But C++ have some nice performance gains sometimes, which is often negated by the JVM doing it's funky stuff.
|
On February 12 2011 07:15 Kambing wrote:Show nested quote +On February 12 2011 07:01 Ace wrote:On February 12 2011 06:33 Willes wrote: Modern software becomes bigger, development of new software raises because markets/ppl/industries/whatever need new software and here you have your biggest advantage over c++: bug-resistance
the chance of producing bugs is alot higher with c++ compared to c#, java, because of the nature of the languages o.c., especially memory organisation produces bugs... besides technical differences this is a huge factor in a time where speed isnt that much of a factor because of faster cpu's and all that stuff that belongs to it...
programming languages have huge success because they give ppl what they need at a given time, in this case easy oop-able languages are more effectively in large software-projects than c++, different requirements - different languages , thats simply all.
time = money, garbage collectors safe time, also for good programmers, especially in large projects...
mfg That isn't necessarily true. C++ is an older language and as such, components you'd use (aka other people's code and well known solutions to problems) will be extensively documented. No matter what language you use you will always have bugs. Garbage collectors, like time spent coding, aren't major issues if you are a Software Engineer. It's nice to have but isn't going to make someone that isn't experienced in programming better. I agree with you that the overall average bug rate for C++ code is not necessarily higher than in other languages. However, I think the real point of Willies's post is that garbage collectors remove whole classes of bugs from the equation which simplifies design and testing. But definitely garbage collection does not make you a better or worse programmer. It is a tool that can make your life easier (as long as you are aware of and accept the downsides) so you can focus on the problem at hand rather than the infrastructure to solve that problem.
This post sums it up perfectly and the bolded is the best advice for people learning programming. Solve the problem before worrying about which tool to use.
|
|
On February 12 2011 12:48 indigoawareness wrote:hopefully someone could help: I have a mac cookies.plist file and I'm trying to convert it into a readable format (I am using windows 7). I found a open source utility that http://jafat.sourceforge.net/files.html that does so but the precompiled version (which I'm using bc I have no idea what I'm doing really) outputs everything I want to STDOUT. I want to put it into a text file or something better. Is there a way to do this, ideally very simply like from command prompt? Thanks in advance. Maybe this? http://lesterchan.net/plutil/
|
|
you guys got any suggestions for a good ide to do java in? is it pretty much just use eclipse?
|
I use Eclipse and JGrasp at times.
|
|
On February 12 2011 08:15 windzor wrote:Show nested quote +On February 12 2011 00:38 heishe wrote: By the way a really minor point that always bothered me greatly with both languages is the lack of a possibilty to separate definition and implementation of classes. Sorry, but if you haven't learned about interfaces in java or C# your arguments don't really matter.
Interfaces have exactly nothing to do with practical separation of implementation and definition (which people do mostly for (besides lowering the compile time by a minimum when just changing the implementation) comfortability reasons), and if you think that's what they're for... well then I've got nothing else to say.
I'm not sure, maybe I'm translating from German to English in the wrong way. What I'm talking about is having a .hpp (or .h) file where you define the class/set of functions etc., and a .cpp (or .c) file where you implement it.
|
On February 14 2011 06:13 jsmith wrote: which do u prefer?
I use Eclipse but that's because if you're going to be a professional I think any SE should learn to use Eclipse. JGrasp is pretty good though but I haven't used it seriously since last summer.
Use both of them if you just want to learn the nuances of IDEs.
@heishe: I think he was talking about actual programming interfaces where you where as you were speaking in terms of information hiding via interfaces.
|
|
|
|