Best Reference Site For Each Programming Language? 538
Howling writes "I've been a PHP programmer for a few years and after taking a trip through many sites Ive learned that www.php.net is probably the most complete source when looking for information/documentation. I have been trying to find similar sites for every other language (Java, perl or ASP, for instance) without equal success, though. I ask: what is the best documentation/reference site for your preferred programming language?"
Scheme (Score:5, Interesting)
Re: (Score:3, Informative)
SICP looks interesting, but is it not available in some format more portable than html? No PDF?
Re: (Score:3, Informative)
Of course I should have JFGI.
http://www.google.com/search?q=sicp+pdf [google.com]
Re:Scheme (Score:4, Informative)
Would you actually rather read the pdf, which can't be reflowed, instead of html, which can be reflowed, if both would be available as a single file download?
At least on mobile devices such as the Nokia N810 I prefer reflowable formats. Actually I prefer them on the desktop also.
Re:Scheme (Score:5, Informative)
QuickRef currently includes: C, C++, CSS, HTML, HTML DOM, Java, JavaScript, MySQL, Perl, PHP, Python, and Ruby
Re:Scheme (Score:5, Informative)
gotapi [gotapi.com] currently includes many many more and has a nice ajaxy interface.
Re:gExp (Score:5, Informative)
http://www.regular-expressions.info/ [regular-expressions.info]
I'll just leave this here.
Perl and Python (Score:5, Informative)
cpan.org and python.org
Re:Perl and Python (Score:5, Informative)
Agreed. I'd also add Perlmonks.org [perlmonks.org]; it's not documentation per se but it's damn useful.
For java, you have to master the API [sun.com]...Even modules that other people write are often documented with javadoc, and look just the same. Once you use it for a while it becomes familiar.
Re:Perl and Python (Score:5, Interesting)
The funny thing is that for some 20 years, before I started using Python, my favorite and almost only language was C, and I don't know of any really good site for C.
However, I do know of a really good author, that is a "dead tree" author, for C: Herbert Schildt. I would recommend these [amazon.com]. Any of them. Well, just kidding, I haven't read them all, I doubt anyone has, but I bet they are all good.
My favorite is his book on artificial intelligence [amazon.com]. It's out of print now, but it was one of the reasons why C was my favorite language for about 20 years, and it still would be if Python hadn't come out.
Re:Perl and Python (Score:5, Informative)
C was my favorite language for about 20 years, and it still would be if Python hadn't come out.
You know this of course, but I thought I'd mention that your C experience isn't wasted as a Python programmer. The cycle: design in Python => profile => redo bottlenecks in C, is the basis of industrial strength Python application.
Re:Perl and Python (Score:5, Informative)
I used to recommend his books too, but he has a bad reputation [faqs.org] among many developers:
Re: (Score:3, Interesting)
The funny thing is that for some 20 years, before I started using Python, my favorite and almost only language was C, and I don't know of any really good site for C.
I agree. C and Python are, in my opinion, the only languages that integrate *really well* with general UNIX design philosophy. They're both incredibly simple and powerful, in their own ways.
Before Python, I was a Perl guy... but I left Perl a year ago and haven't looked back.
Now I'm getting good at writing Python extension modules in C (what fun). The API is really nice and almost trivial to use from a C programmer's perspective. It's not unlike the GTK APIs, but focuses a litttle less on consistency an
Re: (Score:3, Interesting)
Well, yes, I have been castigated by that, too...
BUT, on the other hand, Mr. Schildt introduced me to several other immensely powerful practices, like, for instance, "incremental testing".
In the end, adding everything up, I must say that Herbert Schildt's contribution to my formation as a programmer has been undecidedly positive.
Re:Perl and Python (Score:4, Funny)
...undecidedly positive.
I don't think this means what you think it means.
Re:Perl and Python (Score:5, Interesting)
Re:Perl and Python (Score:4, Informative)
perldoc.perl.org [perl.org]
use Perl; [perl.org] comes high on the list, along with PerlMonks [perlmonks.org] and PerlBuzz [perlbuzz.com].
Perl.org [perl.org] in general gets points for being where you can find Use, perldoc, and more.
Re: (Score:3, Informative)
Another good one would be the Python Cookbook [activestate.com] on ASPN. And at a more abstract level, Ward's Wiki [c2.com] has explanations and discussions of a wide range of interesting tools, languages, and techniques.
For perl and cpan (Score:3, Informative)
Specifically search.cpan.org [cpan.org].
Sometimes I browse around to see what I might come up with for new modules. The documentation is awesome because not only is it formatted, but you also can link directly to a specific version, see the installation test report for various OSes for that version, see submitted bugs, other comments and module dependencies.
Java.sun.com (Score:5, Informative)
Re:Java.sun.com (Score:4, Informative)
http://java.sun.com/reference/ [sun.com]
Samples, API, Docs, Tutorials, etc.
(redudndant, but people usually like links)
Re:Java.sun.com (Score:5, Informative)
Re: (Score:3, Informative)
I'd also recommend Javaranch [javaranch.com] for people beginning Java, I discovered it when I was going for certification and it helped immensely.
Re:Java.sun.com (Score:4, Informative)
Re: (Score:3, Insightful)
just google:
java X class
where X is whatever you want. Top results will be sun java docs which are complete and have links to parent and descendent classes, implemented interfaces, etc.
The problem here is that google sends you to outdated documentation, sometimes as far as 7 years old javadocs from old versions. It's better to just go to java.sun.com and get a link to the live docs and stick it in your bookmarks, especially since there is more info there that's not just javadocs.
Also ##java on freenode IRC is an excellent resource if you don't come in acting like an entitled moron...
Oh and as a bonus for Java-ites, if you're on a Mac, grab Xcode (free) and its documentation browser will
FYI (Score:5, Informative)
If you use Eclipse you can configure the javadoc URL in your JDK configuration and pull up the pages from within the IDE. VERY handy.
Re: (Score:3, Informative)
ASP (Score:3, Informative)
for asp: asp.net. has very good tutorials. for reference use msdn library.
Re: (Score:2, Redundant)
Here's what I do (Score:5, Informative)
coldfusion: adobe.com
html, css, javascript, sql: w3schools.com
python: python.org
c/c++: devshed.com
java: java.sun.com
Anything else: my brilliant co-worker.
Re:Here's what I do (Score:5, Informative)
developer.mozilla.org
It's pretty clear, but unfortunately you still have to watch out for browser incompatibilities. They sometimes will have a note about it though.
Re: (Score:3, Informative)
also nice: http://www.quirksmode.org/ [quirksmode.org]
Re: (Score:3, Funny)
Re:Here's what I do (Score:5, Informative)
html, css, javascript, sql: w3schools.com
Why oh why would you go to w3schools (ad filled piece of shit), when you go directly to the source for all the HTML and CSS requirements?
For example, want to learn HTML?
http://www.w3.org/MarkUp/Guide/ [w3.org]
http://www.w3.org/MarkUp/Guide/Advanced.html [w3.org]
Already know HTML but want to do one thing (or can't remember the exact syntax?)?
http://www.w3.org/TR/html4/ [w3.org]
Do a search through the HTML 4.01 Specification [w3.org].
Similarly for XHTML [w3.org].
CSS tips and tricks [w3.org]? You got them all.
Just learning? Get started with HTML and CSS [w3.org]. Other CSS resources [w3.org] all also easily available.
Oh right, and don't forget the authoritative text [w3.org]...
Basically, for HTML and CSS, it is much better for both beginners and advanced users to go to the W3C rather then the ad filled crap w3schools.
Re: (Score:2, Informative)
A quick glance at devshed.com shows no C/C++ at all.
Hmmm... [devshed.com]
Re: (Score:3, Insightful)
A forum is not a reference.
That sounds suspiciously like an opinion :)
I tend to agree with you, but I find the best reference sites also have a forum or comment section. PHP.net is a great example of this.
Re: (Score:3, Insightful)
Well usually the code samples that people have in the php.net/functionname pages are terrible and best avoided, but if nothing else they provide decent inspiration. Even if that inspiration is sometimes for how not to do things. While I do 90% of my work in PHP, it being so loosely typed comes with a SERIOUS lack of best practice guidelines.
Having said all of that, PHP's reference material accessibility has probably been one of the biggest factors in my decision to do most of my work in it (LAMP servers b
Re: (Score:3, Informative)
Re: (Score:3, Informative)
Oracle: asktom.oracle.com for technique/problem solving with SQL.
technet.oracle.com or tahiti.oracle.com for documentation.
Tcl -- use the Wikibook (Score:5, Informative)
One of the best tutorials and references for Tcl is the Wikibook [wikibooks.org] on Tcl programming.
Indeed, it's one of the best programming texts I've seen in any language.
Re: (Score:3, Informative)
I've alwaysd found http://tcl.tk/ [tcl.tk] manuals all I needed but that Wikibook looks like a great place to start.
Object Pascal and C (Score:5, Informative)
Suggestions for perl (Score:5, Informative)
Documentation: peldoc.perl.org
Community: perlmonks.org
Articles: www.perl.com (O'Reilly site)
I have found the perl community to be the most open, supportive and cohesive group of all the languages I work with. Right now I am working with PHP, perl and C#, and perl is by far the easiest language to get help and correct information. I can find tons of info on the other languages, but the information isn't always the best quality.
Good luck with your search.
Re: (Score:3, Informative)
Perl/Python/Ruby and now Each (Score:3, Funny)
So is Each the next great scripting language? I've never tried it...
Re: (Score:2)
Probably an extended version of E.
http://en.wikipedia.org/wiki/E_(programming_language) [wikipedia.org]
For all languages (Score:5, Funny)
experts-exchange.com
*ducks*
Re:For all languages (Score:5, Funny)
answers.yahoo.com
*geese*
Re:For all languages (Score:5, Funny)
ask.slashdot.org
*swans*
Re: (Score:3, Funny)
99-bottles-of-beer.net
*turkeys*
Re: (Score:3, Funny)
about.com
*cranes*
Re:For all languages (Score:5, Funny)
www.youporn.com
*swallows*
Re:For all languages (Score:4, Funny)
goatse.cx
*ewe*
Re: (Score:3, Funny)
Re:For all languages (Score:5, Funny)
Re: (Score:3, Insightful)
Nope, that's only true when you're linking in from Google. They do cloaking.
I just clicked on your link and am certain I did not see any answers.
My Fave (Score:2)
is found among the usenet FAQa: http://www.visi.com/~nathan/a2/faq/asoft.html [visi.com]
Sure, it's funny to the Ivory Soap Parameter (99 and 44/100ths of a percent) of people, but I still keep a copy for my use. What *I* find funny is that the first Macs had an Applesoft emulator available, and it had a subset of the Apple II reference called "Green Book" in its instructions.
C/C++ (Score:5, Informative)
Re:C/C++ (Score:5, Informative)
www.cplusplus.com
Beats the hell out of man pages for the POSIX C libraries.
Re: (Score:3, Informative)
http://cppreference.com/ - easy guide to the STL
Re:C/C++ (Score:4, Informative)
Standard Template Library:
Boost libraries [boost.org]:
For anything not present in the standard library, these are the next place to check. They're freely usable in commercial projects.
stack overflow question (Score:5, Informative)
Perhaps this a question for Stack Overflow [stackoverflow.com]?
-fragbait
PHP.net is great. (Score:5, Insightful)
PHP has probably the best documentation of an language thanks to PHP.net. It is really wonderful, everyone should follow their lead.
Re:PHP.net is great. (Score:5, Insightful)
Re: (Score:3, Interesting)
http://phplens.com/lens/php-book/optimizing-debugging-php.php [phplens.com] I think php necessitates the usage of php.net etc because the functions don't seem to follow any kind of sane design or pattern. I mean (hypothetically) array_search() vs search_array() etc.
Re: (Score:3, Interesting)
I use PHP every day. I love PHP. It is an awesome, flexible, powerful, responsive rapid application development language for any kind of text processing and "cloud services" need. It's typical for me to write 10-20 lines of simple, elegant PHP code that performs wonders matched only by hundreds of lines of C. I'll put it simply: I've bet my farm on PHP, and it's paid off wonderfully. It's stable, fast, and extremely dense when measured in functionality per line of code.
But my one true beef with PHP - one of
Haskell (Score:2)
C: K&R. (Score:5, Informative)
K&R
(aka "The C Programming Language" by Kernighan and Ritchie, http://cm.bell-labs.com/cm/cs/cbook/ [bell-labs.com])
Re:C: K&R. (Score:4, Informative)
Make sure to use the second edition, which covers ANSI C (which is practically ISO C89).
Re:C: K&R. (Score:4, Insightful)
But style aside, the content of the book is classic, especially when you start getting into systems programming. These guys had the logical structure of a good computer system worked out a long time ago! Considering that the UNIX C API was basically the first draft of POSIX, reading this book is a must if you ever want to play with the low-level (aka, fun) parts of your operating system. This book almost never leaves my desk, even though I do most of my work in Perl and PHP nowadays.
I love C because it is a sparse programming language that is very expressive, mainly due to pointers. That has a big influence on my code in other languages, for better or worse. But I find C to be very readable, and I try to do the same for other programs. A lot of "modern" languages just look like barf to me, but I'm probably biased.
Your language is too bloated (Score:4, Funny)
... if the complete reference can't be included inline in a /. post. Here's all you need to know:
> increment the pointer (to point to the next cell to the right).
< decrement the pointer (to point to the next cell to the left).
+ increment (increase by one) the byte at the pointer.
- decrement (decrease by one) the byte at the pointer.
. output the value of the byte at the pointer.
, accept one byte of input, storing its value in the byte at the pointer.
[ jump forward to the command after the corresponding ] if the byte at the pointer is zero.
] jump back to the command after the corresponding [ if the byte at the pointer is nonzero.
Re: (Score:3, Funny)
Eight opcodes!? Luxury! Real programmers only use subtract and branch if negative [everything2.com].
www.gotapi.com (Score:5, Informative)
Visual Basic.Net? (Score:2, Insightful)
Re: (Score:3, Funny)
Because its so well documented internally you don't need an external reference guide.
so yes, if you are needing more answers then Microsoft provides with their shipped MSDN, you should be looking elsewhere for another simpler language.
( yes, this was sarcasm for the mod-nazis )
Essential Reference while you are coding in C++ (Score:2)
The STL reference [sgi.com]. Please keep this page open when you are writing your C++....
Other languages (Score:5, Informative)
SNOBOL - http://www.snobol4.org/ [snobol4.org]
Logo - http://el.media.mit.edu/Logo-foundation/logo/programming.html [mit.edu]
FORTH - http://www.phact.org/e/forth.htm [phact.org]
Prolog - http://www.logic.at/prolog/faq/faq.html [logic.at]
Algol - http://www.algol68.org/ [algol68.org]
Lucid - http://www.haskell.org/haskellwiki/Lucid [haskell.org]
PL/I - http://www.users.bigpond.com/robin_v/resource.htm [bigpond.com]
Dear programming languages: (Score:5, Funny)
Hi there all you programming langauges. I've called you all here because we need to talk. There's some things I need to get off my chest.
SNOBOL
If the world revolved around writing backgammon games, baby, you'd be the end all be all. But you're bloody useless at anything else. You're pretty but uselss.
Logo
You wear me out. I have to tell you to do everything.
FORTH
DARLING I MISS YOU. Where are you?
Prolog
You look good on paper, but you scare me. Remember that time in Beverly Hills? You have some very odd friends. And what's with the pink ties?
Algol
Oh algol. We had some great times together. But there is life after college, really.
Lucid
Lucid: you aren't. You should have been called "heroin".
PL/I - http://www.users.bigpond.com/robin_v/resource.htm [bigpond.com]
PL/I you are the perfect ex langauge. There's nothing to like about you and I don't miss you. Hell I don't even remember you that well any more. You're so damn difficult even your name cant be used in a URL because you screw that up. Put skip THIS, bitch.
Forth come back! All is forgiven. Let's just you and me go someplace and dup dup dup. Or was that postscript. No no, she's just a friend.
Aww dammit. Forth? Honey?
Missing Cowboy Neal option (Score:4, Funny)
Perl has by far the best docs (Score:3, Informative)
The most annoying thing is having to go on the web to find a doc. PHP is horrifying enough and then you read the docs and find all the exceptions to whatever rule (and the bugs) in the comments.
For Perl:
perldoc -f [function name]
Or perldoc [Module::Name] (also man Module::Name works on most Linux distros)
Also on Linux, 'man perl' gives a list of a whole ton of man pages that give you specific information on regexes, objects, references, syntax, variables, etc.
And if you have to have it in a pretty web interface it is indeed all online [perl.org]
(module docs [cpan.org] are as well)
Say what you want about Perl but it has tons of useful modules and it is very well documented.
Parashift (Score:5, Informative)
C++ FAQ Lite [parashift.com] is an excellent site for C++ information.
Ruby and Rails (Score:3, Informative)
For Ruby as well as Ruby on Rails, I like http://apidock.com/ [apidock.com]. It's the first Ruby/Rails doc site that I've seen that has the ability to contribute, rate contributions, etc.
It also covers when methods changed by tags, so you can see that a method that's giving you trouble was changed the last version of rails, etc. Very intuitive interface.
how to write unmaintainable code (Score:3, Funny)
Lua (Score:5, Informative)
Official website: http://www.lua.org/ [lua.org]
Direct link to manual: http://www.lua.org/manual/5.1/ [lua.org]
Lua community: http://lua-users.org/wiki/ [lua-users.org]
Most popular languages are at Wikibooks (Score:5, Interesting)
Wikibooks [wikibooks.org] because if it isn't already there, someone will eventually write one and make it open sourced.
I invite Slashdot readers and posters to write their own ebooks at Wikibooks in an open source license.
OpenLaszlo (Score:3, Informative)
My language of use for the past 3 years, OpenLaszlo has brilliant doco right there on the site [openlaszlo.org]. With a reference guide [openlaszlo.org] that lists all the objects, methods and events with live, editable examples for many.
And then if the documentation doesn't cover what you want, there's the great forums [openlaszlo.org] which have helped me out of plenty of sticky coding situations.
The doco was what drew us to OpenLaszlo in the first place. Well, that and the fact it's open source helped a lot!
Here are a few: (Score:3, Informative)
http://java.sun.com/javase/6/docs/api/ [sun.com]
I do a little happy dance in my head every time this site helps me out. it's a bit intimidating until you use it, then it becomes the best java reference you could ask for.
Ruby:
use fxri. in windows, it's not just a live command-line style interpreter, it has a dictionary of relevant terms to search through to boot. it's like having a terminal inside of a reference book, and you shouldn't pass up the opportunity to try it out.
php:
http://www.php.net/docs.php [php.net]
this one I use every time I use php. Not only does it tell you what everything does, but it tells you what's bugged, and how, and that way you can work around what would otherwise be a nasty problem.
I use these constantly at my job (fxri is the only calculator I know of that can calculate the factorial of 6022, so I use it for all my calculations!) and I hope you find them just as useful as I do.
Ruby (Score:4, Informative)
The official site is always a good bet. But I also make it a habit to memorize the url to the rdoc of whatever I'm doing:
ruby-doc.org/core [ruby-doc.org]
api.rubyonrails.org [rubyonrails.org]
Beyond that, it's more about the framework. For example:
ramaze.net [ramaze.net]
sequel.rubyforge.org [slashdot.org]
Beyond that, there's the source (and IRB + tab-completion), and for the really tough questions, the ruby-talk mailing list.
Can't really recommend the jQuery docs, as they're down half the time, the UI is lacking some critical features, and it doesn't seem to quite work in Konqueror. For a library claiming to be cross-browser, you should at least have your docs be cross-browser!
Best site for real programmers (Score:3, Funny)
http://esoteric.voxelperfect.net/wiki/Malbolge_programming [voxelperfect.net]
or perhaps
http://www.samaritans.org.uk/ [samaritans.org.uk]
Objective-C and Cocoa (Score:3, Informative)
developer.apple.com [apple.com] - Apple documentation, good reference but sometimes lacking in details
cocoadev.com [cocoadev.com] - Cocoa wiki
cocoabuilder.com [cocoabuilder.com] - Cocoa mailing list archives
Comment removed (Score:3, Informative)
Excellent Post (Score:3, Insightful)
Next question - where is the best location to maintain the compiled results? In the meantime, I'm bookmarking this discussion.
Re: (Score:3, Interesting)
I don't dislike C#; it's basically just Java, so if you like one, you'll probably like the other.
The documentation on the other hand...Just go buy a book, because the online docs are slow sadistic torture.
I used to think Java was a bit mean for just throwing out the big API and letting you fend for yourself, but C# throws out part of an API and examples that only cover part of what you need to know. It is extremely frustrating, and the fact that they clearly think it's better than Java's spartan lists of pa
Re: (Score:2, Flamebait)
C# info is horrendous, and the reason is because it is hooked up so tightly to Windows. One day, maybe, we can write quality app with C#/.NET, but until then, you'd need to hook up with all the legacy Windows API - Win32, COM, etc.
Java started out as a clean platform. C#/.NET never was. .Net interop is whole lot easier to deal with than Java JNI, but that's because it NEEDS to be.
Re: (Score:3, Funny)
Re: (Score:3, Insightful)
It's a pathetic one. You've made no outrageous link from "this sorta piece" to "deserves to get offshored". You just stuck them in the same sentence. You should have written something to draw people along to agreeing or violently disagreeing with your assertion. You've given people nothing to bite on. It's a hook with no bait. Pathetic.
Re: (Score:3, Insightful)
Why? Cause people offshore don't use web resources to learn new languages?
scissors beats paper, paper beats the internet (Score:5, Interesting)
I think you misinterpreted the tongue-in-cheek language.
I don't know the reason why some languages (like C) have little online presence. There is comp.lang.c on usenet and the comp.lang.c FAQ. And a couple of online versions of man pages, but it's hard to learn C from man pages alone. And there is the C89/C99 specs, but I don't think that's a great way to learn C either. If you ignore usenet (most people do), I would venture to say there is basically nothing good about C online.
Compared to the books you can get that cover C programming, ones on algorithms, data structures, C itself, and various APIs. The web seems vastly inferior. I'm not trying to claim I know the reason why, I'm just pointing out that this is currently the case. Currently paper is better than electrons for SOME languages.
Re: (Score:3, Insightful)
"The best programming languages...", I am saddened that people would think there is a best programming language. it reeks of elitism.
Re: (Score:3, Informative)
For VBScript I tend to use google to find specific things. I haven't found one site that really covers enough in one place. Most people will write off VBScript being that it is Microsoft and Windows is evil and all that.
Seeing as I use VBScript mainly for natively being able to pull information from LDAP directories from a Windows XP machine I must at least defend it.
MS Scripting Guy [microsoft.com], DevGuru [devguru.com], 4GuysFromRolla [4guysfromrolla.com], and last but not least ActiveXperts [activexperts.com].
It depends if I want info on WMI, LDAP, or general WSH Objects.