How Do I Learn About [n]?

A place to discuss the implementation and style of computer programs.

Moderators: phlip, Moderators General, Prelates

User avatar
Stucky101
Posts: 141
Joined: Tue Mar 27, 2007 4:17 am UTC
Location: Park City, Utah, USA, North America, Earth, Sol, Orion Arm, The Milky Way, Universe A

Re: How Do I Learn About [n]?

Postby Stucky101 » Fri Aug 08, 2008 6:40 am UTC

C++:
http://www.cplusplus.com

Good for a quick reference.
"The earth is the cradle of humankind, but one cannot live in the cradle forever."
~Konstantin Tsiolkovsky, 1895

Zoris
Posts: 34
Joined: Tue Dec 04, 2007 4:09 am UTC

Re: How Do I Learn About [n]?

Postby Zoris » Sat Sep 20, 2008 5:17 am UTC

I'd really love some documentation on writing GUI's using smalltalk, especially in GTK. Also any general guides on smalltalk as I've just started learning.

mas418
Posts: 3
Joined: Sat Oct 04, 2008 1:12 am UTC

Re: How Do I Learn About [n]?

Postby mas418 » Sat Oct 04, 2008 1:59 am UTC

hi, I have absolutely no experience/background in programming, but i want to try and get into it.
I'm looking for something very very basic, can anyone tell me where to start?

Kirby54925
Posts: 36
Joined: Thu Dec 13, 2007 3:43 pm UTC

Re: How Do I Learn About [n]?

Postby Kirby54925 » Sat Oct 04, 2008 9:13 am UTC

The book How to Design Programs is a good place to start. After that, you should move on to Structure and Interpretation of Computer Programs (you don't have to read the second half of the book regarding registers, but it is nice to do so). From there, you can branch out to different things such as learning another programming language, reading Donald Knuth's The Art of Computer Programming, etc. By starting with the first two books, it will give you the correct mindset when attacking different programming tasks and challenges.

Note that both HtDP and SICP are freely available online, so don't fret too much about the cost.

mas418
Posts: 3
Joined: Sat Oct 04, 2008 1:12 am UTC

Re: How Do I Learn About [n]?

Postby mas418 » Sat Oct 04, 2008 3:35 pm UTC

Thanks!
I'm excited to get started :)

Moargazm
Posts: 10
Joined: Tue Oct 21, 2008 4:08 am UTC

Re: How Do I Learn About [n]?

Postby Moargazm » Wed Nov 05, 2008 8:07 pm UTC

Anyone know any good tutorials for learning to use JSON with PHP? (Note: 0 experience with JSON)

User avatar
Xanthir
My HERO!!!
Posts: 5178
Joined: Tue Feb 20, 2007 12:49 am UTC
Location: The Googleplex
Contact:

Re: How Do I Learn About [n]?

Postby Xanthir » Wed Nov 05, 2008 8:11 pm UTC

This isn't enough?

All JSON does is allow you to serialize an object into text, in a way that JS understands natively. PHP has both an encode and decode function for this purpose.
(defun fibs (n &optional (a 1) (b 1)) (take n (unfold '+ a b)))

Moargazm
Posts: 10
Joined: Tue Oct 21, 2008 4:08 am UTC

Re: How Do I Learn About [n]?

Postby Moargazm » Thu Nov 06, 2008 1:41 am UTC

Well I had no idea what JSON was until I read your post. >_>

User avatar
existential_elevator
The awesomest one!
Posts: 3328
Joined: Fri Jul 27, 2007 10:31 am UTC
Location: The Ocean of Regret
Contact:

Re: How Do I Learn About [n]?

Postby existential_elevator » Thu Nov 06, 2008 12:17 pm UTC

What would be a good first language to learn?

Anyone who answers this question here will have their post deleted unless it's way more than what's covered in the Best language for n00bs thread. ;-)

My bad, sorry :(
Last edited by existential_elevator on Wed Nov 26, 2008 4:01 pm UTC, edited 1 time in total.

User avatar
Berengal
Superabacus Mystic of the First Rank
Posts: 2707
Joined: Thu May 24, 2007 5:51 am UTC
Location: Bergen, Norway
Contact:

Re: How Do I Learn About [n]?

Postby Berengal » Mon Nov 10, 2008 5:20 pm UTC

Where can I find a good online tutorial for prolog? I have been looking, but the tutorials have been lacking.

A more specific question related to a more immediate problem possibly solved by what little knowledge I already have: Is there a way to define facts to be true inside a predicate? By that I mean that e.g you've got your fact a(X) which is true inside the predicate p(Xs) for all X in Xs. Specifically, I'm taking in a map of adjacent nodes in a graph, and I want adjacent(A, B) to be true for all A:B in that map. If someone knows of a better way, please tell.
It is practically impossible to teach good programming to students who are motivated by money: As potential programmers they are mentally mutilated beyond hope of regeneration.

dev3
Posts: 7
Joined: Sun Oct 28, 2007 6:03 am UTC

Re: How Do I Learn About [n]?

Postby dev3 » Wed Nov 26, 2008 3:58 pm UTC

Regular expressions?

I've seen a lot op people talk about it, but haven't actually felt the need for it. But I've decided to learn it anyway. All the tutorials I found online however, were too complicated.

Any good resources, you guys could point me towards?

User avatar
thoughtfully
Posts: 2243
Joined: Thu Nov 01, 2007 12:25 am UTC
Location: Minneapolis, MN
Contact:

Re: How Do I Learn About [n]?

Postby thoughtfully » Wed Nov 26, 2008 4:30 pm UTC

I learned by reading the grep man page and the docs for Python's re module. Start with simple expressions, verify all the edge cases, correct your misunderstandings, increment complexity, rinse n repeat.
Image
Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.
-- Antoine de Saint-Exupery

User avatar
Berengal
Superabacus Mystic of the First Rank
Posts: 2707
Joined: Thu May 24, 2007 5:51 am UTC
Location: Bergen, Norway
Contact:

Re: How Do I Learn About [n]?

Postby Berengal » Wed Nov 26, 2008 4:42 pm UTC

Short intro of what it is and what it's used for. Once you get that, take a look at your favorite language's regex module's documentation. Actually, don't bother looking at it, just have it handy, and try to solve a problem that might be solved with regexes.

Example problem: You've got a file of names and phone numbers, separated by commas. Make a list of tuples on the form (firstName, middleName, lastName, phoneNumber) using regexes. If someone only has two "words" in their name, the middle name is the empty string, and if they've got more than three "words", the first name is every word except the last two. Use your local format for phone numbers (I'm using nine digits in a row here). Example file "John Doe 123456789, Mary Sally Smith 987654321, Boy Named Sue Dickins 123987456". Make sure invalid names are rejected ("Susan 123456789" and "Mary Hopkins 123" would be invalid, for different reasons). Extra credit: Make every name word starting with a lowercase letter be part of the succeeding name (if there is one), so e.g. "Adolf van Grüner 123456789" becomes ("Adolf", "", "van Grüner", "123456789").

After you've done this, read the tutorials. They should make sense now.
It is practically impossible to teach good programming to students who are motivated by money: As potential programmers they are mentally mutilated beyond hope of regeneration.

theotherjimmy
Posts: 14
Joined: Sun Feb 01, 2009 9:37 pm UTC

Re: How Do I Learn About [n]?

Postby theotherjimmy » Sun Feb 01, 2009 10:08 pm UTC

How about the 802.11 stack implimentation? if you find anyting, I will be greatful (considering I will not have to read the >10k slc of all implimentations that I have seen)
; and logic ensued, bringing joy and releif to people through out the land

halbarad
Posts: 394
Joined: Mon Dec 08, 2008 11:49 am UTC

Re: How Do I Learn About [n]?

Postby halbarad » Tue Feb 10, 2009 9:57 am UTC

I'd like some help on learning about algorithms, I have done nothing on them at college and I want to expand my programming abilities. Preferably Java orientated tutorials would be good as well but any general algorithm stuff would help.

Thanks

User avatar
Berengal
Superabacus Mystic of the First Rank
Posts: 2707
Joined: Thu May 24, 2007 5:51 am UTC
Location: Bergen, Norway
Contact:

Re: How Do I Learn About [n]?

Postby Berengal » Tue Feb 10, 2009 2:07 pm UTC

halbarad wrote:I'd like some help on learning about algorithms, I have done nothing on them at college and I want to expand my programming abilities. Preferably Java orientated tutorials would be good as well but any general algorithm stuff would help.

Thanks
I've used wikipedia, mostly, but at uni we used 'Data Structures and Algorithms in Java' (http://java.datastructures.net). It was decent and thorough enough for a Java book. Of course, there's always Knuth...
It is practically impossible to teach good programming to students who are motivated by money: As potential programmers they are mentally mutilated beyond hope of regeneration.

User avatar
thoughtfully
Posts: 2243
Joined: Thu Nov 01, 2007 12:25 am UTC
Location: Minneapolis, MN
Contact:

Re: How Do I Learn About [n]?

Postby thoughtfully » Tue Feb 10, 2009 4:22 pm UTC

This is the book I used. It's very comprehensive, and while a bit intimidating, it ain't got squat on Knuth in that department. It's actually organized pretty well, heft is the main issue.
Image
Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.
-- Antoine de Saint-Exupery

halbarad
Posts: 394
Joined: Mon Dec 08, 2008 11:49 am UTC

Re: How Do I Learn About [n]?

Postby halbarad » Wed Feb 11, 2009 11:05 am UTC

Berengal wrote:
halbarad wrote:I'd like some help on learning about algorithms, I have done nothing on them at college and I want to expand my programming abilities. Preferably Java orientated tutorials would be good as well but any general algorithm stuff would help.

Thanks
I've used wikipedia, mostly, but at uni we used 'Data Structures and Algorithms in Java' (http://java.datastructures.net). It was decent and thorough enough for a Java book. Of course, there's always Knuth...


thoughtfully wrote:This is the book I used. It's very comprehensive, and while a bit intimidating, it ain't got squat on Knuth in that department. It's actually organized pretty well, heft is the main issue.


Thanks to both of you. I will look into getting one or both of these.

briguyd
Posts: 14
Joined: Sat Jun 02, 2007 4:36 pm UTC
Contact:

Re: How Do I Learn About [n]?

Postby briguyd » Thu Feb 12, 2009 9:52 am UTC

I don't think anyone has posted Dive Into Python yet. http://www.diveintopython.org/index.html

It really has helped me pick up the language and it's available for free online. The book is also currently being updated for Python 3.

User avatar
Mach1ne
Posts: 35
Joined: Tue Feb 24, 2009 5:20 pm UTC
Location: This exact location but 3 minutes from now

Re: How Do I Learn About [n]?

Postby Mach1ne » Thu Mar 12, 2009 3:36 pm UTC

I know J2EE is somewhat similar to J2SE but they do have quite a few difference. Any good known resources that deals with just J2EE?

morrock
Posts: 5
Joined: Sun May 04, 2008 8:20 pm UTC

Re: How Do I Learn About [n]?

Postby morrock » Tue Mar 24, 2009 8:08 pm UTC

Pretty obvious that no one has gotten to this yet. I started learning Forth a little while ago (for no purpose than curiosity and I think it's a very interesting language, as well as too much time on my hands). In case that someone else out there cares, here are some of the resources I have used so far/have been using.

A Beginner's Guide to Forth What I first read, a pretty good basic introduction.
Starting Forth. Most of the beginning is pretty much the same as the above link, I preferred the above link. This one also has weird pictures.

Rysto
Posts: 1459
Joined: Wed Mar 21, 2007 4:07 am UTC

Re: How Do I Learn About [n]?

Postby Rysto » Tue Mar 24, 2009 9:30 pm UTC

Mach1ne wrote:I know J2EE is somewhat similar to J2SE but they do have quite a few difference. Any good known resources that deals with just J2EE?

I can't really help you, but I wouldn't call J2EE at all similar to J2SE. J2EE is a set of Java libraries for doing enterprise stuff -- it mostly deals with server-side code. J2SE is the standard Java library that's supplied by any Java Runtime Environment.

I think that Sun has some J2EE tutorials on java.sun.com, but I have no idea how up-to-date they are.

User avatar
Ventanator
Posts: 158
Joined: Thu Mar 26, 2009 10:22 pm UTC

Re: How Do I Learn About [n]?

Postby Ventanator » Thu Apr 09, 2009 6:17 pm UTC

blob wrote:For a comp sci oriented introduction to Python there's also
How to Think Like a Computer Scientist: Learning with Python


Dunno if anyone else is having problems with this link, but it doesn't work for me.

P.S. - I can do basic programming on a TI calculator (the 84), so what would be a good language/resource to go with to make the switch to programming on a PC?

User avatar
Berengal
Superabacus Mystic of the First Rank
Posts: 2707
Joined: Thu May 24, 2007 5:51 am UTC
Location: Bergen, Norway
Contact:

Re: How Do I Learn About [n]?

Postby Berengal » Thu Apr 09, 2009 6:43 pm UTC

Ventanator wrote:
blob wrote:For a comp sci oriented introduction to Python there's also
How to Think Like a Computer Scientist: Learning with Python


Dunno if anyone else is having problems with this link, but it doesn't work for me.

Link works fine for me.
Ventanator wrote:P.S. - I can do basic programming on a TI calculator (the 84), so what would be a good language/resource to go with to make the switch to programming on a PC?

The default forum language to recommend: Python.
Personal favorite: Haskell, but for the first "real" language Python beats it. Unless you've decided to become serious about programming, in which case everything, but Haskell first.
It is practically impossible to teach good programming to students who are motivated by money: As potential programmers they are mentally mutilated beyond hope of regeneration.

masher
Posts: 821
Joined: Tue Oct 23, 2007 11:07 pm UTC
Location: Melbourne, Australia

Re: How Do I Learn About [n]?

Postby masher » Mon Jun 01, 2009 5:29 am UTC

Does anyone know of any good tutorials about working with JFlex/CUP or ANTLR or the like? I'd like to mess about with implementing a scripting language...

Agent_Irons
Posts: 213
Joined: Wed Sep 10, 2008 3:54 am UTC

Re: How Do I Learn About [n]?

Postby Agent_Irons » Mon Jun 22, 2009 3:11 pm UTC

Ventanator wrote:
blob wrote:For a comp sci oriented introduction to Python there's also
How to Think Like a Computer Scientist: Learning with Python


Dunno if anyone else is having problems with this link, but it doesn't work for me.

P.S. - I can do basic programming on a TI calculator (the 84), so what would be a good language/resource to go with to make the switch to programming on a PC?

C or C++, actually. It'll be like programming on a TI-84 only everything will suddenly be easy. When you have a pretty good grasp of that, go to python, and the exact same thing will happen all over again.

User avatar
LoginError
Posts: 12
Joined: Sat Jul 21, 2007 3:55 am UTC
Location: coming soon to a web-based form near you

Re: How Do I Learn About [n]?

Postby LoginError » Mon Jul 20, 2009 10:37 pm UTC

Anyone have any resources for better understanding XML? I'm having trouble "getting" it, I understand generally how it works, and what it's good for, but would like to learn more. Preferably from a source that assumes you know little to nothing about it.
Image

maxliving
Posts: 9
Joined: Sat Sep 29, 2007 10:51 am UTC

Re: How Do I Learn About [n]?

Postby maxliving » Sun Jul 26, 2009 2:10 am UTC

How about Objective-C / Cocoa / Any OS X Developing?

I have some experience with Java and C/C++

User avatar
Vault
Posts: 169
Joined: Mon Nov 10, 2008 5:00 pm UTC
Location: Just past the event horizon
Contact:

Re: How Do I Learn About [n]?

Postby Vault » Wed Jul 29, 2009 12:33 pm UTC

maxliving wrote:How about Objective-C / Cocoa / Any OS X Developing?

I have some experience with Java and C/C++


The best book I've found is probably Cocoa Programming for Mac OS X, but there are some good online materials as well, Cocoa for Scientists being one I find pretty good. IMO Apple's docs are pretty much useless until you actually get into it a little bit.

User avatar
You, sir, name?
Posts: 6971
Joined: Sun Apr 22, 2007 10:07 am UTC
Location: Chako Paul City
Contact:

Re: How Do I Learn About [n]?

Postby You, sir, name? » Wed Jul 29, 2009 2:52 pm UTC

I request a good learning resource for python3. Everything seems to be about python2, and the differences between python2 and python3. I want to enhance my python skills without first learning a deprecated version, and then re-learning everything.
I edit my posts a lot and sometimes the words wrong order words appear in sentences get messed up.

User avatar
Berengal
Superabacus Mystic of the First Rank
Posts: 2707
Joined: Thu May 24, 2007 5:51 am UTC
Location: Bergen, Norway
Contact:

Re: How Do I Learn About [n]?

Postby Berengal » Thu Jul 30, 2009 12:18 am UTC

http://diveintopython3.org/

Although 2.6 is a pretty decent middle ground to be learning, and most things have stayed the same. Speaking as someone who learned python just after 2.5 got out, python 3 is 2.5 with some warts removed (strings now work, a single 'int' type (not int and long), classes implicitly inherit from object if they have no explicit inheritance).

Only a few things have changed since I started, the with statement (which was in 2.5 as well, but needed a __future__ import. It's in 2.6 as well), integer division doesn't truncate (from __future__ import division in 2.6, I believe). The 'integer division' operator (//) is in 2.6 already, where it works the same as / without the future import. 'print' is a function, not a statement.

I'm ranting. In short: Not much has changed. It's still dictionaries all the way down, except this time you'll be looking at them through iterators.
It is practically impossible to teach good programming to students who are motivated by money: As potential programmers they are mentally mutilated beyond hope of regeneration.

User avatar
Vault
Posts: 169
Joined: Mon Nov 10, 2008 5:00 pm UTC
Location: Just past the event horizon
Contact:

Re: How Do I Learn About [n]?

Postby Vault » Tue Aug 18, 2009 12:57 pm UTC

Would anyone know of any good resources for Scala?

User avatar
RoadieRich
The Black Hand
Posts: 1036
Joined: Tue Feb 12, 2008 11:40 am UTC
Location: Behind you

Re: How Do I Learn About [n]?

Postby RoadieRich » Fri Sep 25, 2009 9:38 pm UTC

You, sir, name? wrote:I request a good learning resource for python3. Everything seems to be about python2, and the differences between python2 and python3. I want to enhance my python skills without first learning a deprecated version, and then re-learning everything.

Python2 isn't going to be deprecated for a while yet.
73, de KE8BSL loc EN26.

User avatar
fjafjan
THE fjafjan
Posts: 4766
Joined: Fri Oct 06, 2006 12:22 pm UTC
Location: Down south up north in the west of eastern west.
Contact:

Re: How Do I Learn About [n]?

Postby fjafjan » Thu Nov 05, 2009 1:51 pm UTC

Anyone got a good resource for just C? I couldn't find a good responce previously besides one book recomendation. Anyone got an online resource?
And note, I know C is mostly dated, I want to learn it to try and improve Zangband(Tk).
Oh yeah, and I know java fairly well, and have found this site, but a more robust resource would be nice
//Yepp, THE fjafjan (who's THE fjafjan?)
Liza wrote:Fjafjan, your hair is so lovely that I want to go to Sweden, collect the bit you cut off in your latest haircut and keep it in my room, and smell it. And eventually use it to complete my shrine dedicated to you.

stephentyrone
Posts: 778
Joined: Mon Aug 11, 2008 10:58 pm UTC
Location: Palo Alto, CA

Re: How Do I Learn About [n]?

Postby stephentyrone » Thu Nov 05, 2009 5:03 pm UTC

First off, C is most certainly not dated.

Second, if you want to learn it, get "The C Programming Language". Sorry, not online. It's worth buying the book. Deal with it. Supplement that by downloading the C99 standard, which *is* available online for free.
GENERATION -16 + 31i: The first time you see this, copy it into your sig on any forum. Square it, and then add i to the generation.

User avatar
Berengal
Superabacus Mystic of the First Rank
Posts: 2707
Joined: Thu May 24, 2007 5:51 am UTC
Location: Bergen, Norway
Contact:

Re: How Do I Learn About [n]?

Postby Berengal » Thu Nov 05, 2009 6:59 pm UTC

C is dated but not outdated. It's aged pretty well.
It is practically impossible to teach good programming to students who are motivated by money: As potential programmers they are mentally mutilated beyond hope of regeneration.

User avatar
thoughtfully
Posts: 2243
Joined: Thu Nov 01, 2007 12:25 am UTC
Location: Minneapolis, MN
Contact:

Re: How Do I Learn About [n]?

Postby thoughtfully » Thu Nov 05, 2009 7:45 pm UTC

C is still the lingua franca of embedded and system software. The Linux kernel and pretty much all of the familiar command line tools are written in C. C is more widely known, more consistent in implementation, and is a lot simpler than C++.

C++ has a lot of use-cases for which C is inappropriate, but the converse is also very much the case!
Image
Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.
-- Antoine de Saint-Exupery

Unparallelogram
Posts: 336
Joined: Mon Jul 28, 2008 4:16 am UTC

Please Recommend Ruby on Rails Resources

Postby Unparallelogram » Mon Nov 09, 2009 11:37 pm UTC

Hi guys. I'm trying to teach myself ruby on rails for the purpose of making facebook applications. So far, I've read a few tutorials and bits of books. The tutorials were nice, but far from comprehensive, and I only got an introduction. I probably made bad choices in books, because I'm not getting anything from the few I tried. One assumed I had no programming experience and wanted to use copy and paste code, another uses mostly a strange static mix of html and xhtml that reminds me of geocities etc rather than ruby, and one gets to mvc ideas and then the book ends. So I guess looking for free stuff on the internet doesn't always go so well. I would really appreciate if you guys could recommend some resources that can help me get started and then learn the important bits of using rails. Free is always a bonus, but I guess I wouldn't be opposed to buying books if they're good. Thanks.

User avatar
J the Ninja
Posts: 714
Joined: Tue Dec 30, 2008 9:08 pm UTC
Location: Portland, USA
Contact:

Re: How Do I Learn About [n]?

Postby J the Ninja » Fri Nov 27, 2009 6:10 am UTC

Ok, n00bish question here. If I wanted to teach myself OpenCL, where should I start? I really like the concept, and have read a good deal about the basics. Except....I really don't how to actually program. I can do scripting (Bash, HTML) but aside from a tiny bit of python experience in middle school, I really don't know how to do it. I am not a CS major, and have no interest in being one. I know several CS majors, and have seen from them it is not something I have any desire to do, and probably wouldn't be that good at. But I'd love to at least be able to understand it better, and maybe make something fun (visualizer, benchmark app, w/e)

tl;dr: Fairly experienced computer user, has a working knowledge of scripting, but cannot program. Wants to learn OpenCL. Where do I start?
Shishichi wrote:Applies a sexward force to counter the sexpression effect that Forward Advection can apply to fluid density, particularly along sextainer boundaries. In this way, the sextribute attempts to conserve the overall fluid volume ensuring no density loss.
(he/him/his)

Ended
Posts: 1459
Joined: Fri Apr 20, 2007 3:27 pm UTC
Location: The Tower of Flints. (Also known as: England.)

Re: How Do I Learn About [n]?

Postby Ended » Sat Nov 28, 2009 1:03 am UTC

J the Ninja wrote:Fairly experienced computer user, has a working knowledge of scripting, but cannot program. Wants to learn OpenCL. Where do I start?

Disclaimer: I don't know OpenCL but I know CUDA, which is somewhat similar. (If you were wanting to learn CUDA I would suggest learning C to a good working standard, learning some basic parallel programming, and then picking up NVIDIA's CUDA Programming Guide.)

For OpenCL, I had a quick look and it seems like there is a fairly well-developed Python binding: PyOpenCL. So perhaps you could develop/refresh your Python skills, and then look at that. In any case, OpenCL is not a language as such, and you will have to learn a programming language (Python, C, C++, ...) before you can use it.

In addition, be aware that OpenCL is fairly bleeding-edge and, as something designed to execute on heterogeneous platforms (in particular many-core platforms like GPUs), is pretty difficult. So I suggest taking some time to develop a solid programming base (e.g. Python) before tackling it. But have a particular OpenCL binding (e.g. PyOpenCL) in your sights as you do so. (Incidentally, even using the Python binding, a basic knowledge of C will be helpful and perhaps essential.)

The material here might be useful.
Generally I try to make myself do things I instinctively avoid, in case they are awesome.
-dubsola


Return to “Coding”

Who is online

Users browsing this forum: No registered users and 8 guests