How Do I Learn About [n]?

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

Moderators: phlip, Prelates, Moderators General

Re: How Do I Learn About [n]?

Postby Cass » Sat Dec 12, 2009 2:24 am UTC

Hey Im looking for a good text on VHDL or Verilog. Does anyone have any suggestions? Im an electrical engineer and have experience in other programming languages etc.
"I reject your reality and substitute it with my own"
User avatar
Cass
 
Posts: 28
Joined: Thu Oct 04, 2007 3:04 am UTC
Location: BC, Canada

Re: How Do I Learn About [n]?

Postby scikidus » Sun Jan 17, 2010 3:35 pm UTC

Sorry to bump, but I wanted to add that PHPacademy on YouTube makes great tutorials for beginners, IMO. He steps you through everything, from the installation and use of XAMPP, to building login scripts, to modifying phpBB.

EDIT: Also, does anyone have resources for learning more about jQuery? I've bookmarked their website, but I was wondering if there was anywhere else I should look.
Happy hollandaise!

"The universe is a figment of its own imagination" -Douglas Adams
User avatar
scikidus
 
Posts: 793
Joined: Wed Nov 26, 2008 9:34 pm UTC
Location: New York, NY

Re: How Do I Learn About [n]?

Postby Llort » Thu Feb 25, 2010 4:06 am UTC

So I'm taking an AP CS course at my high school, and I'm doing well, but it is pretty slow going. Year is almost over, and we're currently on compareTo, I think. We focus mostly on Java, and will spend a week + on simple concepts. I want to get into a language simultaneously that will let me program a fairly simple game; 2D overworld/dungeon stuff for now, I think. I do know some 3D modeling, but I figure I should learn how to set up a game before I try to implement that. Doing this mostly so I can have something simple to show to schools I apply to (if I do decide to get a degree in this sort of thing,) and for my own fun. I know some games can be made in Java, but I'd like to start learning another language like C++ or C# for that kind of thing, too. What would you guys recommend I learn/do this in, if I want to make something presentable within the next few years? (I can make the art myself, might try writing some music to go along with it.)

(By the way, I can't believe I've been reading XKCD all this time and never tried using the forum here; it looks much better than some of the other forums I've been to...)
Llort
 
Posts: 2
Joined: Thu Feb 25, 2010 3:48 am UTC

Re: How Do I Learn About [n]?

Postby headprogrammingczar » Fri Feb 26, 2010 2:20 am UTC

Before giving you any recommendations, it will help to know your skill level. What languages you know, how well you know them, how much math you know, etc. Games are a lot more complex than they look at first glance.
<quintopia> You're not crazy. you're the goddamn headprogrammingspock!
<Weeks> You're the goddamn headprogrammingspock!
<Cheese> I love you
User avatar
headprogrammingczar
 
Posts: 3015
Joined: Mon Oct 22, 2007 5:28 pm UTC
Location: Beaming you up

Re: How Do I Learn About [n]?

Postby Llort » Sat Feb 27, 2010 6:33 am UTC

headprogrammingczar wrote:Before giving you any recommendations, it will help to know your skill level. What languages you know, how well you know them, how much math you know, etc. Games are a lot more complex than they look at first glance.

I understand. Been reading some C++ guides online (not really doing them yet, just want to see the language,) and I'm beginning to see how it is different from Java. (Java is the only language I know anything about.) Only been taking it for a year now, but I know how to do stuff with strings, arrays, ints, Objects, for/while loops, "extends", etc. I'll be taking Pre-Cal and Physics next year, but I don't think I'll need much more than Algebra 2 for a simple 2D game. Plus, I'm pretty good at seeing how the methods link and fit inside each other. I think I'm ready to learn how to write something; I'm just not sure what to write it in.
Llort
 
Posts: 2
Joined: Thu Feb 25, 2010 3:48 am UTC

Re: How Do I Learn About [n]?

Postby headprogrammingczar » Sat Feb 27, 2010 2:56 pm UTC

Since you are just starting, I suggest that you make it in Java, since it is the language you know best. Definitely learn another language on the side, using smaller programs like for Project Euler to learn the language. Once you finish, it might make a nice exercise to port your game to that other language. One last piece of advice is to not be too ambitious with your game, since you have only just started learning to program. At your level of knowledge, even something as simple as collision detection is going to be complicated, since you haven't learned enough to understand the best solutions.
<quintopia> You're not crazy. you're the goddamn headprogrammingspock!
<Weeks> You're the goddamn headprogrammingspock!
<Cheese> I love you
User avatar
headprogrammingczar
 
Posts: 3015
Joined: Mon Oct 22, 2007 5:28 pm UTC
Location: Beaming you up

Re: How Do I Learn About [n]?

Postby Aaeriele » Wed Mar 03, 2010 4:27 am UTC

Hmm. I've found myself wanting to look into Haskell more, but it seems like the only Haskell resource in the thread is now a broken link. Anyone have other resources they'd recommend? If not, I'll go a-searching on my own, and report back on anything exceptional I encounter. ;)
Vaniver wrote:Harvard is a hedge fund that runs the most prestigious dating agency in the world, and incidentally employs famous scientists to do research.

afuzzyduck wrote:ITS MEANT TO BE FLUTTERSHY BUT I JUST SEE AAERIELE! CURSE YOU FORA!
User avatar
Aaeriele
 
Posts: 2096
Joined: Tue Feb 23, 2010 3:30 am UTC
Location: San Francisco, CA

Re: How Do I Learn About [n]?

Postby headprogrammingczar » Wed Mar 03, 2010 2:12 pm UTC

http://learnyouahaskell.com/chapters, and after that, http://www.haskell.org/all_about_monads/html/index.html. It helps a lot to have something useful that you can apply all the concepts to. I chose an IRC bot.
<quintopia> You're not crazy. you're the goddamn headprogrammingspock!
<Weeks> You're the goddamn headprogrammingspock!
<Cheese> I love you
User avatar
headprogrammingczar
 
Posts: 3015
Joined: Mon Oct 22, 2007 5:28 pm UTC
Location: Beaming you up

Re: How Do I Learn About [n]?

Postby Aaeriele » Thu Mar 04, 2010 2:02 pm UTC

Thanks. :) I was pointed to learnyouahaskell by another independent source as well, and so far it's seeming like a very good recommendation.

And yeah, I agree that having a project to apply knowledge to as you learn it helps a lot in getting it to stick... reading docs is one thing, getting a feel for it is another.
Vaniver wrote:Harvard is a hedge fund that runs the most prestigious dating agency in the world, and incidentally employs famous scientists to do research.

afuzzyduck wrote:ITS MEANT TO BE FLUTTERSHY BUT I JUST SEE AAERIELE! CURSE YOU FORA!
User avatar
Aaeriele
 
Posts: 2096
Joined: Tue Feb 23, 2010 3:30 am UTC
Location: San Francisco, CA

Re: How Do I Learn About [n]?

Postby Cosmologicon » Wed Apr 14, 2010 6:38 pm UTC

Any good intermediate/advanced resources on Javascript/DHTML/CSS/Ajax or whatever? I want to write video games with it and I need secret hacks and dirty tricks.
User avatar
Cosmologicon
 
Posts: 1806
Joined: Sat Nov 25, 2006 9:47 am UTC
Location: Cambridge MA USA

Re: How Do I Learn About [n]?

Postby dragonridingsorceress » Thu May 20, 2010 1:10 am UTC

Any info -at all- on Adobe AIR? People keep recommending that I use it for creating a flash game to be run on the user's computer, but I know nothing about it.
I consider myself decently competent with Flash (CS4/AS3), though I'm a bit rusty.
dragonridingsorceress
 
Posts: 52
Joined: Sun Mar 22, 2009 2:47 am UTC

Re: How Do I Learn About [n]?

Postby Jplus » Sun Jun 20, 2010 11:55 am UTC

A little list on learning C++, including one on OOP and one on generic programming and the STL; here.
Feel free to call me Julian. J+ is just an abbreviation.
Image coding and xkcd combined
User avatar
Jplus
 
Posts: 1425
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: classified

Newbie Question: A good place to learn PHP for Wordpress?

Postby sendingsignal » Mon Jun 28, 2010 9:38 am UTC

Hey guys,

I used to know a little C++, but I never got very far past the basics. I ended up going towards computer arts (and eventually non-computer arts) and physical wiring (did some work networking and as an electrician's apprentice) in high school, though I did somehow get an A in AP Comp Sci (I think it's cause my teacher was an ex-game designer and we made basic quake II mods instead of doing anything remotely following the curriculum).

So now I don't really know much of anything, besides what I can scavenge/google/twerk to work on various web projects.

I find myself having to use wordpress for a lot these days and I was wondering if any of you had any advice about learning more about PHP?

I know that on its own, it's not going to explain a lot of the things that wordpress is doing with it, but just learning the basics of context and markup in that language would help me a lot, I think.

I've seen some "intro" articles around the net, but many of them seem to assume a greater level of programming knowledge than I've got.

Is there a good book out there that any of you know of? Or even maybe seminars you might be able to recommend?

Actually working on the stuff seems to have a bunch of Java, CSS, and "regular" HTML as well.

I'm able to make things work eventually, but I feel like I might be going about learning this stuff pretty backwards and a good book might help me take less time with these projects.

Thanks!
User avatar
sendingsignal
 
Posts: 21
Joined: Mon Jun 28, 2010 9:14 am UTC
Location: Savannah, GA

Re: Newbie Question: A good place to learn PHP for Wordpress

Postby Steax » Mon Jun 28, 2010 9:53 am UTC

1. Learn to use HTML and CSS, at least to the point where you can make a basic layout on your own.

2. Learn the basics of PHP, try a few things. If you're good with C++, then you can probably get your hands on PHP without a problem.

3. Learn how Wordpress handles PHP, there are articles about it on the wordpress site. I used this tutorial to get used to how converting a (X)HTML/CSS template into a working wordpress theme. From there you can play with different tags and start learning more advanced techniques.

It's not a very... may I say, relaxing process. Learning HTML is fun, and you start to trample around on browser inconsistencies and the devil in IE in CSS. Afterwards you'll start running around PHP, which is like making a statue out of candy in an exploded candy store. Things start getting hellish at that point, as you grasp various different concepts that materialize in different ways (some are object-based, some are not, and the naming conventions are terrible, and there are lots of pitfalls for the inexperienced). Then you have to make your way through the wordpress tag hell. The tutorial does get you started on it though, so it's not so hard.

That said, you can always ask here if you have trouble.
In Minecraft, I use the username Rirez.
User avatar
Steax
SecondTalon's Goon Squad
 
Posts: 3029
Joined: Sat Jan 12, 2008 12:18 pm UTC

Re: Newbie Question: A good place to learn PHP for Wordpress

Postby sendingsignal » Mon Jun 28, 2010 10:01 am UTC

I'm ok with HTML, at least enough to make my personal site and figure out what code I find online I can adapt to my purposes.

I'm terrible with C++ - or at least I assume I would be. Haven't used it in almost 10 years. I bet I couldn't write a functioning loop on paper if you asked me to do so without the internet.

I've been doing ok with figuring out styling and finding the plugins I want to perform basic functions. My roommate turned me onto Firebug, which helped a LOT. He's moved up north though, so now I gotta make do on my own for the rest, haha. I'm still not sure about some things in CSS, like the difference between a class and ID (and even if this stuff is CSS.. or html.. or what now?)

The reason I ask about getting more into php is that for one of my sites I'm starting to have to customize the backend for users to be able to submit content, and to really get heavy into custom post types and other craziness - basically using it as a content management system. I'm sure it's not the best platform for that, but it IS open source and I'm familiar with it enough to get my content up there at least. So I'm trying, haha.

Thanks for the link! I've already got my theme working, at least on the front end, but I'll read through it anyway because I'm sure it will help me as I continue twerking it.

What I did was just find a theme that was kind of similar to a layout I wanted (two column) and then just keep messing with it for a long time until it got closer and closer. Of course, I didn't start with anything mapped out, so it's grown pretty organically... now has three columns and top drop down navigation, and so on.
User avatar
sendingsignal
 
Posts: 21
Joined: Mon Jun 28, 2010 9:14 am UTC
Location: Savannah, GA

Re: Newbie Question: A good place to learn PHP for Wordpress

Postby Steax » Mon Jun 28, 2010 10:12 am UTC

IDs are only used once, classes are used multiple times (IDs are therefore more specific). They're part of HTML that is built into CSS (other attributes can also be referred to by CSS, but only a few are built into it).

The process of using a blank template and converting it into what you want kind of works, but you have to be careful. You might end up spending more time to patch holes than if you just started from scratch. It also makes you start to mold your design towards the template, which is usually a bad thing if you've already got a well thought-out design. The process of wordpress-izing a site isn't all too difficult, actually, at least at first.

I think I can provide a simple step-by-step process:
1. Figure out your content area. Take everything above that, throw it into header.php and insert tags for the title and stylesheets. Take everything below it and throw it into footer.php.
2. Leave the rest in index.php. Insert the wordpress loop (look at the article). Place a template for 1 content entry, and place the tags for the content and title areas. Everything else will be generated.
3. Swap out the sidebar contents for the sidebar tag.

It's actually really easy... Until you try to work with small details like how to change this and that. It took me almost 2 days perfecting my comment area template, because it's such a mess, and it does take some PHP knowledge.

(I take it you've worked out how to install wordpress on your local machine?)
In Minecraft, I use the username Rirez.
User avatar
Steax
SecondTalon's Goon Squad
 
Posts: 3029
Joined: Sat Jan 12, 2008 12:18 pm UTC

Re: Newbie Question: A good place to learn PHP for Wordpress

Postby sendingsignal » Mon Jun 28, 2010 10:20 am UTC

haha, no, I actually hadn't figured out how to do wordpress locally. I never thought to think of that - I've just been messing with it live for a couple months.

At this point, next time I think I'll make my own theme and really build it from the bottom up. The one I'm using for my big project has already been so completely reworked that it's basically a new theme. The one I chose to work from was extremely lightweight, only had a couple files besides the index and sylesheet - not a heavy theme or even popular one, basically just a framework. Helped me though, because I wasn't sure about the loop and comment stuff, and that's basically all that was left - though now even the loop has been pretty heavily reworked.

It's not a site I make money from, and only gets a few hundred uniques a day, so I'm ok with changing things, seeing what works, and keeping a backup of each file as I mess with it.... something I learned pretty quickly when making changes to the functions.php file!

The stuff I think is really hard to figure out is in the actual wordpress config files. I can play with the theme without really ruining stuff, at least beyond just restoring a backup, but while I can still backup wordpress files - I'm a lot more scared to start messing there. Or I guess what I should actually be doing is twerking plugins or creating my own. I gotta do stuff like mass changing post_type or switching tags to custom taxonomies and I can't find any plugins that do what I want to do.

Edit: Like an idiot, I just found the How do I learn PHP thread linked in the sticky. Gonna look through those links and see if there is anything that applies to wordpress - but I'm sure a lot of it will be useful wordpress or no :D
User avatar
sendingsignal
 
Posts: 21
Joined: Mon Jun 28, 2010 9:14 am UTC
Location: Savannah, GA

Re: How Do I Learn About [n]?

Postby CosmicFugue » Mon Jun 28, 2010 8:26 pm UTC

erm, not sure if this has been asked before but here goes...

i have little to extremely little (i don't want to say "no") experience when it comes to coding. i know a bit of html but just enough to make adjustments to my blog. i studied javascript in high school for a couple of months then dropped it because it was taking up my time. other than that and occasionally using terminal to ssh in order to watch some porn, i'm a real moron when it comes to this stuff. so my question is: what should i start with? i hear a lot about perl, python, lisp, c/c++ but i have litte to no idea about their attributes et al.
User avatar
CosmicFugue
 
Posts: 22
Joined: Sun Jun 27, 2010 12:57 pm UTC

Re: How Do I Learn About [n]?

Postby Xanthir » Mon Jun 28, 2010 10:15 pm UTC

What are you trying to learn? Programming *on* a site? Learn more html, css, and javascript. Programming a site itself? The previous, plus a server-side language like PHP or Python. Just programming in general? Pick up Python first, as it's a great beginner's language, then continue learning more languages. Learning new languages makes you a better programmer in the languages you already know.
(defun fibs (n &optional (a 1) (b 1)) (take n (unfold '+ a b)))
User avatar
Xanthir
My HERO!!!
 
Posts: 4225
Joined: Tue Feb 20, 2007 12:49 am UTC
Location: The Googleplex

Re: How Do I Learn About [n]?

Postby CosmicFugue » Tue Jun 29, 2010 7:40 pm UTC

I'm looking to be able to program in general. I guess I'll start off with Python then. Thanks!
User avatar
CosmicFugue
 
Posts: 22
Joined: Sun Jun 27, 2010 12:57 pm UTC

Re: How Do I Learn About [n]?

Postby GardenGoblin » Thu Jul 01, 2010 2:27 pm UTC

Thank you all for the sources. I've been looking over some of the python ones to add that to my toolkit. I don't suppose any of you have a similar source for Fortran information? I know it's dated, but learning it could mean a nice promotion for me combined with a hefty dose of job security. Failing an online source, can anyone recommend an available book on the subject? The local bookstores don't carry any and it's hard to flip through to see if it's a good one when you are buying online.
GardenGoblin
 
Posts: 45
Joined: Wed Apr 14, 2010 4:57 pm UTC
Location: A place in time

Re: How Do I Learn About [n]?

Postby Rippy » Tue Jul 13, 2010 4:36 pm UTC

How do I learn, not so much programming itself, but managing a project? It's kind of frustrating to have the programming skills to create something substantial, but have no idea how to organize source files, create/run test cases, etc.

So far I've just been looking at source code of some open-source projects.
User avatar
Rippy
 
Posts: 2103
Joined: Sun Jul 22, 2007 11:27 pm UTC
Location: Ontario, Can o' Duh

Re: How Do I Learn About [n]?

Postby headprogrammingczar » Tue Jul 13, 2010 8:45 pm UTC

Some open-source projects are better than others. Learn how to use source control and learn separation of concerns, and you should be good to go. For testing, I like to write lots of small functions first, and test them in an interactive interpreter. As pieces start working, I fit them back together into a whole. For organizing source files, start with your "Main file", which will launch the application, then decide what the largest sub-units are, and make directories for those, and build a file tree downwards from there. For a game, that might be graphics, sound, input, etc. For an IRC bot, it could be channel management, and a folder for each group of commands, like macros, calculator, quotes, etc. Another thing, which is important for group projects, is being able to keep organized task lists for each contributor. This generally ties into the bug tracker, but there are also good standalone tools available (NOT google wave). Try and keep a prioritized list of tasks for each person, with language that makes it clear when a task is considered "done".
<quintopia> You're not crazy. you're the goddamn headprogrammingspock!
<Weeks> You're the goddamn headprogrammingspock!
<Cheese> I love you
User avatar
headprogrammingczar
 
Posts: 3015
Joined: Mon Oct 22, 2007 5:28 pm UTC
Location: Beaming you up

Re: How Do I Learn About [n]?

Postby Steax » Wed Jul 14, 2010 10:15 am UTC

Here's a tip from me: Don't try using the built-in 'project manager' features so many IDEs have. Just use plaintext files: they're very robust. Keep project goals and team members and other information there. You can do a diff on it at any time. Between your existing tools, a text editor, a source control program and an email program, you should be all set.
In Minecraft, I use the username Rirez.
User avatar
Steax
SecondTalon's Goon Squad
 
Posts: 3029
Joined: Sat Jan 12, 2008 12:18 pm UTC

Re: How Do I Learn About [n]?

Postby headprogrammingczar » Wed Jul 14, 2010 10:43 am UTC

Oh, a cool trick you can use with notepad: if the first line of your txt file is ".LOG", every time you open it, notepad appends the current timestamp. It makes a very nice log.
<quintopia> You're not crazy. you're the goddamn headprogrammingspock!
<Weeks> You're the goddamn headprogrammingspock!
<Cheese> I love you
User avatar
headprogrammingczar
 
Posts: 3015
Joined: Mon Oct 22, 2007 5:28 pm UTC
Location: Beaming you up

Re: How Do I Learn About [n]?

Postby Steax » Wed Jul 14, 2010 2:55 pm UTC

Interesting. Is there a way to change the format?

One more tip: If you're working in a real-life team, appoint one person as project leader. He/she should still be a programmer, and may contribute to how the application is developed, but does not actually write any code. The reason for this is that the actual programmers get attached to the code they write (and rightfully so). That will get in their way of doing the (sometimes ruthless) necessary revamps and rewrites, and also prevents the ever-enduring thought of "but I should have done it this way... Hey, can I restart?"
In Minecraft, I use the username Rirez.
User avatar
Steax
SecondTalon's Goon Squad
 
Posts: 3029
Joined: Sat Jan 12, 2008 12:18 pm UTC

Re: How Do I Learn About [n]?

Postby squareroot » Thu Jul 22, 2010 1:37 am UTC

I hear about things like Tunneling, MAC addresses, VPNs, and that kind of stuff... I know what these are, but I would like to learn about what to do with them - how to tunnel into my Desktop from my laptop, how to spoof a MAC address, how to set-up a VPN - you get the idea. Got tips for where I can inform myself?

(Specifically, I read about some people who were doing things like make the mouse pointers on their school computers swirl around remotely, or they tunneled into their headmaster's computer - not that I want to replicate these things, I just want to understand how they're done.)
<signature content="" style="tag:html;" overused meta />
squareroot
 
Posts: 543
Joined: Tue Jan 12, 2010 1:04 am UTC

Re: How Do I Learn About [n]?

Postby RoadieRich » Fri Jul 23, 2010 9:25 am UTC

squareroot wrote:I hear about things like Tunneling, MAC addresses, VPNs, and that kind of stuff... I know what these are, but I would like to learn about what to do with them - how to tunnel into my Desktop from my laptop, how to spoof a MAC address, how to set-up a VPN - you get the idea. Got tips for where I can inform myself?

(Specifically, I read about some people who were doing things like make the mouse pointers on their school computers swirl around remotely, or they tunneled into their headmaster's computer - not that I want to replicate these things, I just want to understand how they're done.)

I'd recommend a book called "The Art of Intrusion". It doesn't go into a lot of detail, but if you want to understand the basic techniques, it's a good resource. It's written by a convicted cracker, based on interviews with other crackers, and in some cases, the sysadmins of the systems they targeted. It mentions a few software tools, which are easy enough to look up on google.
roband wrote:Mav is a cow.

UniJam 2012: Inter-university Games Jam hosted by Nottingham Trent University DevSoc.
nlug: Nottingham Linux User Group
DevSoc: The Nottingham Trent University Software Development Society
User avatar
RoadieRich
The Black Hand
 
Posts: 1030
Joined: Tue Feb 12, 2008 11:40 am UTC
Location: Somewhere only we know

Re: How Do I Learn About [n]?

Postby AngrySquirrel » Mon Aug 23, 2010 10:42 am UTC

My work requires me to know C# and .Net.

This is a problem since I don't know either, I do know some basic programming though so I pick things up fast.

Would anyone like to recommend me some online tutorials for C# and .Net? Preferably something with some practical examples?
The way to a man's heart goes through his ribcage. Screaming "KALIMA KALIMA" also helps.
User avatar
AngrySquirrel
Eats nuts for breakfast...
 
Posts: 817
Joined: Sun Feb 10, 2008 10:26 am UTC
Location: The Northpole

Re: How Do I Learn About [n]?

Postby litzac00 » Tue Sep 07, 2010 2:33 pm UTC

Cass wrote:Hey Im looking for a good text on VHDL or Verilog. Does anyone have any suggestions? Im an electrical engineer and have experience in other programming languages etc.


The best source for VHDL that I have ever encountered is FPGA Prototyping by VHDL Examples with sub-labels for various types of boards (BASYS, Spartan 3, some others). It gives various example codes and explains fairly well how most of them work (some codes I've found completely incomprehensible)

The absolute best way to learn VHDL is just to go at it and do things, work through the errors and learn the syntax through trial and error. It's frustrating, confusing, and mind blowing, but after a few months you'll get the hang of it and a few months after that you'll absolutely love the language.


AngrySquirrel wrote:My work requires me to know C# and .Net.

This is a problem since I don't know either, I do know some basic programming though so I pick things up fast.

Would anyone like to recommend me some online tutorials for C# and .Net? Preferably something with some practical examples?


I can't help you with .Net, but for C# all of my experience comes from the Help files in Windows Visual Studio. It'll explain the basic functions of every tool you can find and give you helpful insight to all of the functions and programs already installed. For the rest, I just google what I"m trying to do with C# and fill in the blanks.
O|OOO||OO|||O|O|O||OOO||O||O|O||OO|OOOOOO||OO|O|O|||O||OO||OO|O|O|||OO|OO||||OO|O||OOO|OO||O||||O||OO|OOO||||OO|
User avatar
litzac00
 
Posts: 8
Joined: Mon Sep 06, 2010 7:52 pm UTC
Location: Pennsylvania College of Technology

Re: How Do I Learn About [n]?

Postby Steax » Tue Sep 07, 2010 4:00 pm UTC

So, I want to learn about writing an actual application with a GUI.

I'm good with web languages, having written several RIAs. I can make fairly basic apps with C++, Python or C#, and am pretty sure Java isn't going to be hard to pick up if I need to. Now, the question: I want to make an app with a GUI. My real objective is to make an app for the iPad, but since that costs a lot I want to make sure I can get the hang on it first. So, any pointers where I should start?

Some specifics:
- If possible, cross-platform.
- I really, really love the tiniest level of control on everything. Sure, I could throw something together in Visual C++ or something, but my (limited) experience with them says that the controls are sort of hardcoded and hard to control by hand. For example, if I make a vector drawing app, I want the ability to automatically align shapes with one another on the canvas. I have an idea on how to do this in JS or ActionScript, but not in anything else.

Any help is much appreciated.
In Minecraft, I use the username Rirez.
User avatar
Steax
SecondTalon's Goon Squad
 
Posts: 3029
Joined: Sat Jan 12, 2008 12:18 pm UTC

Re: How Do I Learn About [n]?

Postby Jplus » Wed Sep 15, 2010 8:15 pm UTC

Steax wrote:So, I want to learn about writing an actual application with a GUI.

[...]

Python: PyGTK (cross-platform).
C++: Qt (cross-platform, optionally with a visual interface editor).
C#: MS Visual Studio (Windows-specific, but fairly portable with Mono; optional visual interface editor).

iPad: currently only C++ or Python (or languages that you didn't mention such as Objective-C) with Apple Xcode, which only runs on the mac. Fortunately they yesterday announced to allow building iPad software with third-party tools again, so Adobe Flash and probably also Qt will kick in soon, among others.

Qt is really neat by the way, I can recommend it.
Feel free to call me Julian. J+ is just an abbreviation.
Image coding and xkcd combined
User avatar
Jplus
 
Posts: 1425
Joined: Wed Apr 21, 2010 12:29 pm UTC
Location: classified

Re: How Do I Learn About [n]?

Postby sourmìlk » Fri Sep 17, 2010 10:48 pm UTC

[n] = OpenGL for the mac with Objective-C

seriously, it's hard to find a single comprehensive internet guide. All you get is the occasional blogpost on "this is how I solved this problem" or a bit of documentation covering some basic implementation.
Terry Pratchett wrote:The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.
User avatar
sourmìlk
If I can't complain, can I at least express my fear?
 
Posts: 6407
Joined: Mon Dec 22, 2008 10:53 pm UTC
Location: permanently in the wrong

Re: How Do I Learn About [n]?

Postby Steax » Sat Sep 18, 2010 2:27 am UTC

Jplus wrote:
Steax wrote:So, I want to learn about writing an actual application with a GUI.

[...]

Python: PyGTK (cross-platform).
C++: Qt (cross-platform, optionally with a visual interface editor).
C#: MS Visual Studio (Windows-specific, but fairly portable with Mono; optional visual interface editor).

iPad: currently only C++ or Python (or languages that you didn't mention such as Objective-C) with Apple Xcode, which only runs on the mac. Fortunately they yesterday announced to allow building iPad software with third-party tools again, so Adobe Flash and probably also Qt will kick in soon, among others.

Qt is really neat by the way, I can recommend it.


Thank you! I'll get started with Qt then. I was aware that iP[a-z]{2,4} apps used Xcode, but that requires Snow Leopard which I don't yet have, so I figured I'd start with some desktop implementations before working on the i versions. Thanks for the pointers!
In Minecraft, I use the username Rirez.
User avatar
Steax
SecondTalon's Goon Squad
 
Posts: 3029
Joined: Sat Jan 12, 2008 12:18 pm UTC

Re: How Do I Learn About [n]?

Postby thoughtfully » Sat Sep 18, 2010 4:19 am UTC

The thing about Qt is its licensing. Since Nokia bought Trolltech, Qt has been free-as-in-speech, but the Python bindings for Qt are not. This isn't a concern for you if you are only using Qt with C++, but if you are using the Python bindings and developing nonfree code, you will have to pay for a license to use the bindings. Nokia even started its own project, PySide, to develop its own bindings after negotiations with Riverbank Software (the authors of the Python bindings) failed.

Probably not a concern for a hobbyist or someone in academia (or if Python isn't one of your main languages), but if you are going to be a freelance or commercial coder (and use Python for making GUIs), you might reconsider the investment you're putting into learning Qt. Becoming fluent in more than one full blown GUI framework is going to distract you from writing application code.
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
thoughtfully
 
Posts: 2063
Joined: Thu Nov 01, 2007 12:25 am UTC
Location: Minneapolis, MN

Re: How Do I Learn About [n]?

Postby Steax » Sat Sep 18, 2010 3:59 pm UTC

I'm not too attached to Python... yet. A lot of things about it are nifty and I can spot a lot of time-savers, but it hasn't grown on me enough that using another language becomes irritating. My main language is PHP and most of my mindset sticks there. So the pythonicity isn't so critical; the problem is that C++ is a bit too low level for my tastes. Doesn't mean I can't try, though. It's just that my past experience with it hasn't been so happy.

Either way, thanks for your input. I think I'll keep python in the cool-but-currently-unused-for-big-projects bin.
In Minecraft, I use the username Rirez.
User avatar
Steax
SecondTalon's Goon Squad
 
Posts: 3029
Joined: Sat Jan 12, 2008 12:18 pm UTC

Re: How Do I Learn About [n]?

Postby kwhkwh » Fri Nov 05, 2010 2:24 pm UTC

http://code.google.com/edu/

Google Code has some nice tutorials for programming languages like python and C++. I've been using them to learn python and I'm impressed by the clarity and effectiveness of these tutorials.
kwhkwh
 
Posts: 4
Joined: Mon Oct 25, 2010 8:49 am UTC

Re: How Do I Learn About [n]?

Postby Meem1029 » Mon Nov 29, 2010 5:06 am UTC

I have no idea if this will be answered, but I imagine there are others in a situation like me, so I might as well ask.

Does anyone know of any resources for learning how to program C coming from the perspective of someone who already knows programming? I know Java and Scheme well, as well as some Python (and TI-Basic for the 84 and 89, but that hardly counts) and I don't want to relearn all the basic concepts. Are there any books like this, or do I need to relearn the concepts because they are different enough in the different languages?

Thanks for any help you can give.
cjmcjmcjmcjm wrote:If it can't be done in an 80x24 terminal, it's not worth doing
Meem1029
 
Posts: 378
Joined: Wed Jul 21, 2010 1:11 am UTC

Re: How Do I Learn About [n]?

Postby thoughtfully » Mon Nov 29, 2010 9:26 am UTC

K&R really is quite good, especially if you've got the knack for grokking technical material. Get the new edition that is updated for ANSI C.
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
thoughtfully
 
Posts: 2063
Joined: Thu Nov 01, 2007 12:25 am UTC
Location: Minneapolis, MN

Re: How Do I Learn About [n]?

Postby headprogrammingczar » Mon Nov 29, 2010 2:04 pm UTC

If you know Java, you already know most of C. K&R looks like a fantastic book, so definitely go with that.
<quintopia> You're not crazy. you're the goddamn headprogrammingspock!
<Weeks> You're the goddamn headprogrammingspock!
<Cheese> I love you
User avatar
headprogrammingczar
 
Posts: 3015
Joined: Mon Oct 22, 2007 5:28 pm UTC
Location: Beaming you up

PreviousNext

Return to Coding

Who is online

Users browsing this forum: No registered users and 9 guests