Go Back   AnandTech Forums > Software > Programming

Forums
· Hardware and Technology
· CPUs and Overclocking
· Motherboards
· Video Cards and Graphics
· Memory and Storage
· Power Supplies
· Cases & Cooling
· SFF, Notebooks, Pre-Built/Barebones PCs
· Networking
· Peripherals
· General Hardware
· Highly Technical
· Computer Help
· Home Theater PCs
· Consumer Electronics
· Digital and Video Cameras
· Mobile Devices & Gadgets
· Audio/Video & Home Theater
· Software
· Software for Windows
· All Things Apple
· *nix Software
· Operating Systems
· Programming
· PC Gaming
· Console Gaming
· Distributed Computing
· Security
· Social
· Off Topic
· Politics and News
· Discussion Club
· Love and Relationships
· The Garage
· Health and Fitness
· Home and Garden
· Merchandise and Shopping
· For Sale/Trade
· Hot Deals with Free Stuff/Contests
· Black Friday 2014
· Forum Issues
· Technical Forum Issues
· Personal Forum Issues
· Suggestion Box
· Moderator Resources
· Moderator Discussions
   

Reply
 
Thread Tools
Old 12-30-2012, 04:14 PM   #26
cytg111
Golden Member
 
Join Date: Mar 2008
Posts: 1,432
Default

Quote:
Originally Posted by Dissipate View Post
No, issues with generics do not just come up for people writing an PhD. I was working on a project at my previous job where we had to use Java and an issue with generics came up very quickly.
- Yes, been there too, I can remember the specifics but it was frameworking with generics at the very corner of it's existence, and while the sun jdk spew it out, IBM's worked like a charm. Hey, bugs happen, even to JDK maintainers . But even so, there is at lease ONE bug, *everywhere*. I find the JDK suite very dependable. (I dont know if this generic issue persists in java7/8 or was even fixed in an update to 6, it was some 4-5 years ago.)


Quote:
Originally Posted by Dissipate View Post
How popular a language is has nothing to do with whether or not it is a good language. In fact, I would say that Java is probably a lot less popular outside of corporate environments. It is a terribly verbose language for one thing, and not very fun to program anything in outside of work. This is especially true since it is almost always used in some kind of heavily configured IDE like Eclipse.
- Yes, definitions, for the purpose at hand, like building "houses" and "cars", Java and/or C# has no rivals I am aware of, and that makes them winners in my book. Depending on our definitions our milages will vary.


Quote:
Originally Posted by Dissipate View Post
Java != JVM

What 'hippie crap' are you referring to?

I don't have a problem with the JVM, I have a big problem with Java. In fact, I'm quite interested in other languages that run on the JVM such as Clojure and Scala, but I haven't had time to investigate them.
- Yes, isnt it beautiful .. Java != JVM, i like that alot. Possibilites.
By hippie crap I ment .. arh sorry about that, I dont wanna offend anyone who's curious and exited about the next best thing since the next best thing in interpreted languages.. just cause im not excited doesnt mean others shouldnt be. (I too am keeping an open eye on scala.)
__________________
404
cytg111 is offline   Reply With Quote
Old 12-30-2012, 04:38 PM   #27
bobross419
Golden Member
 
bobross419's Avatar
 
Join Date: Oct 2007
Posts: 1,979
Default

As a *nix guy, I like perl. Its installed by default on just about everything and its pretty easy to write scripts. Bash is great for quick things, but its pretty easy to whip up a perl script once your Bash starts getting a little more complex. I know that some consider perl unpolished, but for scripting who really cares. Its super easy to whip something up on the quick. I would also lean a bit more towards c or c++ myself... I'm no developer, but I know enough of these languages to make sense of stuff when diving source code. Take these recommendations with the understanding that I'm coming from the standpoint of whats useful to me as a sysadmin and not as a developer.

As mentioned before though, there is a lot of tools using python these days. I'm planning to pick it up myself just have so much other stuff I've been spending time on lately.

Regardless of what you choose, finding projects that are both interesting to you and within your abilities can be a huge boost in learning to code.


Also, LinuxLinks just had a post of 20 free python books:
http://www.linuxlinks.com/article/20...oks-Part1.html

Can't give any recommendations, but could be worth a gander and maybe someone can +1 one of them for you.
__________________
"We don't make mistakes here, we just have happy accidents... If you want sad things, watch the news. Everything is possible here. This is your little universe."

-Bob

http://railrockit.com/ "Just Rock It to Lock it"

Last edited by bobross419; 12-30-2012 at 04:41 PM.
bobross419 is offline   Reply With Quote
Old 01-02-2013, 02:15 AM   #28
Obsoleet
Platinum Member
 
Obsoleet's Avatar
 
Join Date: Oct 2007
Location: Austin, Texas
Posts: 2,184
Default

Programming: Python
Scripting: Python

And you use Linux? So you're aware it's very heavily used for many Linux GUI apps?
Python isn't some sort of mockery of a programming language, it's the real deal.

I use Python for everything I do (it does it all like few other languages/platforms do), and have dabbled in C and Java.
Unless I had a career path I was interested in that involved C++ (games, more hardcore apps like Photoshop... not my cup of tea to tackle), Java (everything, TONS of jobs), or C# (everything, tons of jobs)..
if you don't have a specific company in mind, or goal in mind, stick with Python. It's both the best learning tool and desirable resume material whether you're a programmer, systems guy, or artist (GIMP, Blender ect).

If you insist on messing with pointers and managing memory for no reason other than learning how much of a pain in the ass it is, I'd suggest C++ and Python. C is still the standard on Linux though. And Python/C work together very well. You can program a limited subset of C in Python, it's called Cython. Something Ruby doesn't offer.

I wouldn't learn C# because it's Windows-specific (at least .Net, the cutting edge, default implementation is), but one cool thing about it over Java is that you don't have to run in managed mode, you can access the memory and screw around with pointers like in C++. Java can't do that.

If I snapped my fingers and became a pro at any 1 language out there alongside Python, it would be C++. I have 0 reason and desire to teach myself though.

If I were you I'd stick with Python to learn and use, branch out into what you next find USEFUL (it will likely only pertain to a specific career focus). Whether that's Java, C++, or C# it doesn't matter.
Python covers all the use cases as well as anything, until you need something else.

In 2013, with the ascent of the mobile and web era- I like the idea of one very high level language (Python) and one lower level (C++). Those are my choices. I prefer to skip the stuff in the middle (Java, C#) if you don't know them already or have a job interest involving them.
Oh, and one of the biggest geek news hits of 2012, RaspberryPi, uses Python as it's native language.
__________________
Linus on Nvidia

Last edited by Obsoleet; 01-02-2013 at 02:44 AM.
Obsoleet is offline   Reply With Quote
Old 01-02-2013, 04:07 AM   #29
Colt45
Lifer
 
Colt45's Avatar
 
Join Date: Apr 2001
Location: Советский Союз
Posts: 19,721
Default

C is essential for a lot of linux hacking, so i'd start there.
__________________
######
############
##########################
##################################################
##################################################
Colt45 is offline   Reply With Quote
Old 01-02-2013, 07:53 AM   #30
Cogman
Diamond Member
 
Cogman's Avatar
 
Join Date: Sep 2000
Location: A nomadic herd of wild fainting goats
Posts: 9,838
Default

Quote:
Originally Posted by Obsoleet View Post
I wouldn't learn C# because it's Windows-specific (at least .Net, the cutting edge, default implementation is), but one cool thing about it over Java is that you don't have to run in managed mode, you can access the memory and screw around with pointers like in C++. Java can't do that.
Currently, Mono is at the same place as Microsoft's CLR. Sure in the future the .Net framework will likely implement things first, however, mono has really done a good job at keeping up.

Don't get me wrong, mono is slower than the CLR. However, that generally doesn't matter all that much. (It isn't THAT much slower).
__________________
CogBlog - Random Babblings of Cogman mainly focused on software.
Cogman is offline   Reply With Quote
Old 01-02-2013, 09:26 AM   #31
postmortemIA
Diamond Member
 
postmortemIA's Avatar
 
Join Date: Jul 2006
Location: Midwest USA
Posts: 6,545
Default

C++. Does everything that C and Java can do, and that's pretty much everything.
__________________
D1. Win7 x64 i7-3770 on Z77, HD7850, 2707WFP, 840, X-Fi D2. Win7 x64 E8400 on P35
L1. OSX 10.9 rMBP 13 L2. Vista x86 E1505
M. Galaxy S4

postmortemIA is online now   Reply With Quote
Old 01-02-2013, 09:48 AM   #32
Broheim
Diamond Member
 
Broheim's Avatar
 
Join Date: Feb 2011
Location: with my auntie and uncle in Bel Air
Posts: 4,577
Default

Quote:
Originally Posted by Colt45 View Post
C is essential for a lot of linux hacking, so i'd start there.
going from procedural to OO is imo harder than going from OO to procedural.
__________________
Quote:
Originally Posted by free ipod View Post
It's Diffiult Process but you handle easily. I am Appriciate with your Perforamances...
Broheim is offline   Reply With Quote
Old 01-02-2013, 10:13 AM   #33
Ken g6
Elite Member
 
Ken g6's Avatar
 
Join Date: Dec 1999
Location: Colorado
Posts: 8,971
Default

Quote:
Originally Posted by postmortemIA View Post
C++. Does everything that C and Java can do, and that's pretty much everything.
Not entirely correct. For one thing, C++ doesn't support reflection. You can't run C++ on an Android phone, that I know of, either.
__________________
Look for really BIG primes with TeAm AnandTech PrimeGrid!
Next race: December 5-6
Ken g6 is online now   Reply With Quote
Old 01-02-2013, 10:41 AM   #34
postmortemIA
Diamond Member
 
postmortemIA's Avatar
 
Join Date: Jul 2006
Location: Midwest USA
Posts: 6,545
Default

Quote:
Originally Posted by Ken g6 View Post
Not entirely correct. For one thing, C++ doesn't support reflection. You can't run C++ on an Android phone, that I know of, either.
That would be Android limitation. And Android uses subset of things defined in a regular JDK. So you can't simply wirte a Java program and port it to Android. However, it does support C and C++ via NDK:
http://developer.android.com/tools/sdk/ndk/index.html
__________________
D1. Win7 x64 i7-3770 on Z77, HD7850, 2707WFP, 840, X-Fi D2. Win7 x64 E8400 on P35
L1. OSX 10.9 rMBP 13 L2. Vista x86 E1505
M. Galaxy S4

postmortemIA is online now   Reply With Quote
Old 01-02-2013, 11:40 AM   #35
Markbnj
Moderator
Programming
 
Markbnj's Avatar
 
Join Date: Sep 2005
Posts: 13,156
Default

If a young person asked me today to recommend a language to learn, unless they had expressed an intent to get into one of a few specialized areas there's no way I would recommend C++. It was a great language in its time, but from my perspective the evolutionary trends in the industry are clear: higher level managed languages like Java, C#, Python, and Ruby are the future, with scripting languages for glue and the various display frameworks sitting on top. If you really want to learn a low level unmanaged language then at least there's some good reasons to learn Objective-C (which is just C, anyway).

Unless you're doing game development, systems development, hardcore engineering or scientific programming, embedded systems, etc., C++ doesn't have that many applications anymore. I absolutely adored the language when it was my daily tool twenty years ago, but I don't go back to it anymore unless I really have to. A recent example was some XMPP stuff, but those examples are getting rarer as time passes.
__________________
Everytime I try to tell you, the words just come out wrong

**
Some meaningless scribbling of no account

The 4th Realm

Arts and Letters Daily - Get some culture
Markbnj is offline   Reply With Quote
Old 01-03-2013, 02:46 AM   #36
Obsoleet
Platinum Member
 
Obsoleet's Avatar
 
Join Date: Oct 2007
Location: Austin, Texas
Posts: 2,184
Default

Quote:
Originally Posted by Markbnj View Post
If a young person asked me today to recommend a language to learn, unless they had expressed an intent to get into one of a few specialized areas there's no way I would recommend C++. It was a great language in its time, but from my perspective the evolutionary trends in the industry are clear: higher level managed languages like Java, C#, Python, and Ruby are the future, with scripting languages for glue and the various display frameworks sitting on top. If you really want to learn a low level unmanaged language then at least there's some good reasons to learn Objective-C (which is just C, anyway).

Unless you're doing game development, systems development, hardcore engineering or scientific programming, embedded systems, etc., C++ doesn't have that many applications anymore. I absolutely adored the language when it was my daily tool twenty years ago, but I don't go back to it anymore unless I really have to. A recent example was some XMPP stuff, but those examples are getting rarer as time passes.
I'd contend things are going BACK to native code from 20+ years ago (C/C++). With the highest level scripting languages accompanying it as both glue and used where they can be.

The rise of mobile means that if a 16KB chip can be used instead of a 32KB, and your skills can make that happen in a low level language, you're going to make a big impact on the $bottom line$. It's true that hardware is overpowered in PCs, but not every device is, and profits will always come into play. While embedded is not the job for everyone, it's one of the reasons for the return of C(++) in recent years.
Not that native code is limited to embedded programming.
There's Google's NativeClient for Chrome, Golang (compiles to native code, no VM), MS jumped on C++11 pretty quickly. Checkout MS's 'GoingNative' series http://channel9.msdn.com/Shows/C9-GoingNative.
Or this post 15 hours ago. http://channel9.msdn.com/posts/C-and...our-Colleagues
I'm curious why MS is promoting anything called "C++ and beyond, convincing your colleagues"?? Didn't we just GET DONE convincing our colleagues to jump on the .Net bandwagon?

And it's true Java/C# will continue to dominate the boring, sludge that is the corporate market (due to inertia), I prefer to go as high level as possible, to maximize programmer time. Higher up the food chain is Ruby and Python (personally, my money is on Python). Not to mention, I'm not too keen on corporate sponsored tech from Oracle (build a successful business on Java and get sued like Google did) and MS (really, no one needs examples here).



Typically, you ever have a asinine amount of processing power and memory, or you have far too little. That's the way it seems to be going. You either have a server or local machine with 4+ cores and 8GB+ of ram (on the lowend), or you're developing for an iPad.

That's why I recommend an interpreted language + low level.
Versus the former trend of some virtual machine that's been ported everywhere. With Python you have a widely ported interpreter, and if you know C or C++ you have native code at your disposal.

OR, better yet IMHO, if you use Python- you have Python and Cython. Python where you can, C(ython) where you need it. Pretty much my preferred solution. And we'll never get rid of native code nor very high level code until something is widely adopted that is similar to Golang (best of both worlds). I don't like things like the JVM, people are hot on Scala, Clojure and other JVM based languages. I'm hot on native code, and would hop on the Golang bandwagon before Scala anyday.

Regarding Objective C, it does have a garbage collector, for OSX, but not for iOS (back to our, far too little resources on mobile meme I mentioned before).
For vendor-locked code, ObjC is the winner over all other OS-specific code (pretty much the only other competitor for that grand title is C# on .Net). While I would also endorse ObjectiveC, I'm not sure it's not more the flavor of the decade (which is fine, if you like making money like most of us). C++ is universal, never went away, and like C might not ever go away as a 1st class citizen (aren't Windows7 drivers still written in C?). Java and C# will continue to lose relevance outside of the corporate world, if they haven't already.
__________________
Linus on Nvidia

Last edited by Obsoleet; 01-03-2013 at 02:53 AM.
Obsoleet is offline   Reply With Quote
Old 01-03-2013, 02:58 AM   #37
Obsoleet
Platinum Member
 
Obsoleet's Avatar
 
Join Date: Oct 2007
Location: Austin, Texas
Posts: 2,184
Default

Quote:
Originally Posted by Cogman View Post
Currently, Mono is at the same place as Microsoft's CLR. Sure in the future the .Net framework will likely implement things first, however, mono has really done a good job at keeping up.

Don't get me wrong, mono is slower than the CLR. However, that generally doesn't matter all that much. (It isn't THAT much slower).
That's good news, and glad to hear it. .Net isn't that fast either. I like Mono (no sarc) and I keep MonoDev installed for occasional use (usually just recompiling small changes to open source C# programs that I mess with).
It's the closet to .Net that I ever get. While I'm a believer that the best way on C# is to use MS's stuff.. If I were a seasoned C# developer (with no MSDN account for free VS updates), I'd just migrate to Mono and be done with it. I refuse to pay $500 to develop on VS or use their cutdown Express versions. There's PLENTY of tech out there just as or more exciting to use for free, MS can stuff it.
__________________
Linus on Nvidia

Last edited by Obsoleet; 01-03-2013 at 03:00 AM.
Obsoleet is offline   Reply With Quote
Old 01-03-2013, 10:00 AM   #38
Markbnj
Moderator
Programming
 
Markbnj's Avatar
 
Join Date: Sep 2005
Posts: 13,156
Default

Quote:
Originally Posted by Obsoleet View Post
Typically, you ever have a asinine amount of processing power and memory, or you have far too little. That's the way it seems to be going. You either have a server or local machine with 4+ cores and 8GB+ of ram (on the lowend), or you're developing for an iPad.
My new S3 has a quad core and 16GB of ram . I tend to think current mobile limitations are just temporary. We can expect the devices to follow the same curve. And as for "promoting C++ and beyond" I didn't watch that whole video, but I think they are primarily talking about language features. Managed C++ has been the red-headed stepchild of .NET for a long time now.
__________________
Everytime I try to tell you, the words just come out wrong

**
Some meaningless scribbling of no account

The 4th Realm

Arts and Letters Daily - Get some culture
Markbnj is offline   Reply With Quote
Old 01-03-2013, 10:12 AM   #39
Charles Kozierok
Elite Member
 
Join Date: May 2012
Posts: 6,762
Default

Awk FTW.
__________________
"Of those who say nothing, few are silent." -- Thomas Neill
Charles Kozierok is offline   Reply With Quote
Old 01-03-2013, 07:21 PM   #40
Obsoleet
Platinum Member
 
Obsoleet's Avatar
 
Join Date: Oct 2007
Location: Austin, Texas
Posts: 2,184
Default

Quote:
Originally Posted by Markbnj View Post
My new S3 has a quad core and 16GB of ram . I tend to think current mobile limitations are just temporary. We can expect the devices to follow the same curve. And as for "promoting C++ and beyond" I didn't watch that whole video, but I think they are primarily talking about language features. Managed C++ has been the red-headed stepchild of .NET for a long time now.
I'm talking about the guy who writes the software for the Nook, or one of the many microcontrollers in such a device, or the firmware for the S3 I suppose. Not the guy who writes a sloppy app placed on Google Play that consumes way too much of your 16MB of RAM.

Samsung doesn't care about that, that's someone else's problem.
What they care about is during the design process, using a 2MB ROM vs 512KB ROM. We all know a company isn't going to be generous on non-user facing memory that isn't a selling point.. just because some guy/team can't program efficiently or in native code.

I know if I were making a couple million devices, I'd be interested in making sure the entire design and BOM were as small as possible so my profits were maximized.

Maybe that's not what they're doing
__________________
Linus on Nvidia
Obsoleet is offline   Reply With Quote
Old 01-03-2013, 08:42 PM   #41
Markbnj
Moderator
Programming
 
Markbnj's Avatar
 
Join Date: Sep 2005
Posts: 13,156
Default

Quote:
Originally Posted by Obsoleet View Post
I'm talking about the guy who writes the software for the Nook, or one of the many microcontrollers in such a device, or the firmware for the S3 I suppose. Not the guy who writes a sloppy app placed on Google Play that consumes way too much of your 16MB of RAM.

Samsung doesn't care about that, that's someone else's problem.
What they care about is during the design process, using a 2MB ROM vs 512KB ROM. We all know a company isn't going to be generous on non-user facing memory that isn't a selling point.. just because some guy/team can't program efficiently or in native code.

I know if I were making a couple million devices, I'd be interested in making sure the entire design and BOM were as small as possible so my profits were maximized.

Maybe that's not what they're doing
I guess you're right. Perhaps I should freshen up my assembler skills. Nothing gets your logic into fewer bytes than good, hand-optimized assembler.
__________________
Everytime I try to tell you, the words just come out wrong

**
Some meaningless scribbling of no account

The 4th Realm

Arts and Letters Daily - Get some culture
Markbnj is offline   Reply With Quote
Old 01-03-2013, 11:34 PM   #42
Obsoleet
Platinum Member
 
Obsoleet's Avatar
 
Join Date: Oct 2007
Location: Austin, Texas
Posts: 2,184
Default

Ok that made me laugh but still, mobile devices ARE more and more popular while the desktop/laptop PC is waning in popularity (amazingly enough, as I prefer choice).
I'm not sure it has to be assembler, pretty much every OS and driver is written in C.

I still find Python does everything I need and more, so I stand by the Python + Python suggestion. I don't really have a need or desire to put in effort to learn anything lower level. Good idea for a learning experience. If I did, I'd probably go with Mark's suggestion and learn ObjectiveC. I think I'd find the most use out of that, and most of us, but doesn't work for the OP.
__________________
Linus on Nvidia

Last edited by Obsoleet; 01-04-2013 at 01:04 AM.
Obsoleet is offline   Reply With Quote
Old 01-05-2013, 01:14 PM   #43
Obsoleet
Platinum Member
 
Obsoleet's Avatar
 
Join Date: Oct 2007
Location: Austin, Texas
Posts: 2,184
Default

Interesting perspective on C++ by Linus http://harmful.cat-v.org/software/c++/linus just doing some reading today and came across that. Linus is out of my league, but sounds like he'd probably recommend regular old C and <insert garbage collected language here>.

Another quote from Linus on C++, he's basically saying to not screw with it and just go to something with memory management and tighter integration with your OS. Use either very low level (C) or high level (Python, C#, Java).
http://thread.gmane.org/gmane.comp.v...43/focus=57960

'And if you want a fancier language, C++ is absolutely the worst one to
choose. If you want real high-level, pick one that has true high-level
features like garbage collection or a good system integration, rather than
something that lacks both the sparseness and straightforwardness of C,
*and* doesn't even have the high-level bindings to important concepts. '
__________________
Linus on Nvidia
Obsoleet is offline   Reply With Quote
Old 01-05-2013, 02:44 PM   #44
Markbnj
Moderator
Programming
 
Markbnj's Avatar
 
Join Date: Sep 2005
Posts: 13,156
Default

Quote:
Originally Posted by Obsoleet View Post
'And if you want a fancier language, C++ is absolutely the worst one to
choose. If you want real high-level, pick one that has true high-level
features like garbage collection or a good system integration, rather than
something that lacks both the sparseness and straightforwardness of C,
*and* doesn't even have the high-level bindings to important concepts. '
He's nothing if not opinionated. I don't really agree. I always thought of C++ as a better C. It adds a lot of support for modularization, decoupling, and reuse without adding much overhead or restricting C's low-level close-to-the-machine semantics.
__________________
Everytime I try to tell you, the words just come out wrong

**
Some meaningless scribbling of no account

The 4th Realm

Arts and Letters Daily - Get some culture
Markbnj is offline   Reply With Quote
Old 01-05-2013, 09:03 PM   #45
Cerb
Elite Member
 
Cerb's Avatar
 
Join Date: Aug 2000
Posts: 16,032
Default

Meanwhile, 50 years from now, people will still be having the same arguments, just with better dynamic languages. There's a fundamental trade-off between control over machine resources, and ease of coding solutions to difficult problems. Both sides will get closer to the middle, but without some major mathematical breakthroughs, there won't be one language to rule them all.
__________________
Quote:
Originally Posted by Crono View Post
I'm 90% certain the hipster movement was started by aliens from another galaxy who have an exaggerated interpretation of earth culture(s).
Cerb is online now   Reply With Quote
Old 01-06-2013, 06:36 AM   #46
mv2devnull
Senior Member
 
Join Date: Apr 2010
Posts: 787
Default

Furthermore, if you did form your opinion about a language 20 years ago, you might not have been looking at the same beast that is around today. Languages and compilers can change. C++ in particular has now complex ways to fail that were not even imagined back then.

Linus has a point though; the "total control" requires that You Know What You are Doing, while the "ease of use" should do all the hand-holding for you automatically and correctly. C++ is somewhere in the middle.
mv2devnull is offline   Reply With Quote
Old 01-07-2013, 01:04 AM   #47
Obsoleet
Platinum Member
 
Obsoleet's Avatar
 
Join Date: Oct 2007
Location: Austin, Texas
Posts: 2,184
Default

There's no 1 language to rule them all, but from what I've seen Golang comes the closest, if it were more popular and more libraries (though the stdlib alone is robust).

The OP might want to look into Golang for his 'programming' language. While I don't think anything will ever replace C completely in drivers or embedded applications, Golang solves a lot of modern problems with C++ and many other compiled languages. Not only for the compilation time, but concurrency/multithreading/async stuff that I don't know much about 1st hand.
But it does appear to solve those issues without complexity (Scala).

Python and Golang might be a pretty strong pair. While avoiding going back to the days of yore with C/C++/ObjC. If Go were more popular than it is, I'd say it's one, if not the only language that I could wholesale replace Python with.
But having other users, search results, and lots of FOSS code available is worth a lot to me.

I'm taking the wait and see approach with Go, Scala, Erlang, Clojure, Haskell.. whatever else is out there that's 'advanced', and taking a safe bet with my time and effort with Python.

If I were to go beyond Python, it'd probably be C, Go or maybe C# (if Win8 wasn't the apparent new standard for the Windows desktop, which might be the reason for my first Macbook purchase ever).
__________________
Linus on Nvidia

Last edited by Obsoleet; 01-07-2013 at 02:27 AM.
Obsoleet is offline   Reply With Quote
Old 01-07-2013, 10:32 AM   #48
Staples
Diamond Member
 
Join Date: Oct 2001
Posts: 4,238
Default

I have taken a look at many of them recently and my top two would be Python and C#.
Staples is offline   Reply With Quote
Old 01-07-2013, 10:39 AM   #49
Staples
Diamond Member
 
Join Date: Oct 2001
Posts: 4,238
Default

Quote:
Originally Posted by TheRyuu View Post
Remember, if you're not learning it the hard way, you're doing it wrong.

It may be beneficial to start with C regardless of what you actually want to use in the end.
I actually did their Python tutorials but I have to admit, I like my O'Reilly book better, that website has you go do a lot of independent research with only saying do a search for x y and z and not really giving you links to what it would like you to read.
Staples is offline   Reply With Quote
Old 01-07-2013, 03:52 PM   #50
Obsoleet
Platinum Member
 
Obsoleet's Avatar
 
Join Date: Oct 2007
Location: Austin, Texas
Posts: 2,184
Default

I also did the Python tutorials from that site, and he does ask you go learn some on your own, but you'll end up doing this anyway. It's the best way to learn 'the hard way'.
He doesn't confuse people with IDE features, detailed explanations on how things work or why they are this way, he doesn't insist you understand pointers or that 'a real programmer needs to know this history or CS theory' kind of soapbox rhetorical nonsense. And if anyone is qualified to talk down other programmers, it's the author.

The way I approached it, is that I did the lessons, and the lookup parts I either did briefly, or did later on as I started on a project. He gets you off the ground with appropriate hand holding, but I did my own projects that I had in mind for Python, rather than use web.py for the game. I went from someone who failed in teaching himself Java, to someone making real applications in Python and it's a lot more FUN than Java, and cheaper than C# while being just as versatile as either (possibly moreso if scripting is important to you). I'm pretty thankful for the role of that book, IMO his selflessness has solidified Zed Shaw as a legend, maybe not quite on the world changing godlike level of RMS or Linus, but he's definitely reached demigod status.

The key/brilliance to LPTHW is that he gets you to do STEP 1, typing and running working code with ease.
__________________
Linus on Nvidia
Obsoleet is offline   Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 01:21 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.