25 chars of wasted space.
|
I'm looking for a fun new language to take up so I can start making some worthless programs. I was hoping you'd give me some advice on what you think.
Some background.... I took a c++ class, but it was very simple, not visual at all, and just a class to start you thinking about programming logic. I then started to learn javascript, but got bored with that quickly because I had no use for it. I moved to PHP, and then MySQL (is all sql the same?), and now I'm looking for something so that I can make visual programs that aren't run inside a web browser. What I've been looking at... I bought a cocoa book a while ago, but never got into it for whatever reason. It just seemed kinda complicated, to do all the stuff you had to do to get something simple to work. Of course it wasn't that complicated, I really just never gave it a good chance. I have been looking to java too because I hear it's pretty easy to get networking and internet aspects working with this. That is very appealing to me. Lastly, what sucks so much about REALBasic? I mean, it seems REALLy easy to quickly churn out a basic application that is also platform independent. I don't know why, but I have a bias against it, like it's a joke. So, what do you think? Learn a GUI language at all or learn something like perl or python? Well, let me know what you think, I'm leaning towards java, but think it would be nice to have such integrated functionality with the OS as cocoa probably allows. My biggest fear for any language? I'm afraid I'm going to suck it up when I have to start worrying about memory, to clear unused variables and everything. |
quote |
Veteran Member
|
I would be interested in views on this also...
I have been out of programming for a long time and am tempted to get into OS X software, seeing as all the toos are there and widgets look like they might be a good placce to start... The last thing I programmed was a V60 controlling a 3D rendering pipeline on SEGAs arcade platforms... Before that it was all 680x0 and 56010 DSPs..... I tried C++ and found it awful, but guess I am going to have to do something like that to get back into things nowadays.. *puffs on old boy pipe* *leans back in leather chair in library* Not to steal ast3r3xs thread here but if anyone can shed some light on where we would go from here would be really cool.... 'Remember, measure life by the moments that take your breath away, not by how many breaths you take' Extreme Sports Cafe | ESC's blog | scratt's blog | @thescratt |
quote |
Member
|
I would recommend you guys go with Cocoa. Objective-C is a neat language, and I really enjoy it. If you want to do visual stuff, then java is right out. (Unless you do java Cocoa). Having to make interfaces with straight java gives me nightmares.
I would recommend "Cocoa Programming for Mac OS X" by Aaron Hillegass. It really helped me get a feel for how to work with Coca and Objective-C. By the time you get done with the book, you've made a lot of small apps that show you how to work with most of the Cocoa framework. If you want to do networking, there is the follow on book which deals with that. With interface builder and XCode, you can whip up a gui really quick. My girlfriend made a program with a little help. It doesn't do much, you som buttons and different strings come up, but she's proud of saying she made a program. Just my thoughts. "Slow vehicle speeds with frequent stops would signal traffic congestion, for instance." uh... it could also signal that my Mom is at the wheel... |
quote |
25 chars of wasted space.
|
Quote:
Edit: Which book do you have, I bought a while ago and hav this The PHP O'Reilly book I have is the best, it went through functions/manipulations for strings, arrays, objects, and then went into examples and how to work with images, databases, ect... I just need a beginning book for cocoa, I think the cocoa book just kinda assumed a knowledge of obj-c, and started. Maybe I'll check out an O'Reilly cocoa book. Last edited by ast3r3x : 2005-02-25 at 17:52. |
|
quote |
Member
Join Date: Oct 2004
Location: Spokane, WA
|
ast3r3x,
Thats the First Edition That may be why.....if you have MacOSX 10.3... I would get the 2nd Edition. Its alot cleaner and covers Bindings (which appeared in 10.3) and several other new topics. I would also take a look at Cocoa Recipes for Mac OS X. Its only based on the Vermont Recipes app from the StepWise site a while back. But you start with a basic app and add more and more (preferences, undo, drag & drop, etc.) along the way, so its a good read (atleast I thought so). |
quote |
Banging the Bottom End
Join Date: Jun 2004
|
You could always start with the Apple-suppllied docs. The only sample program is either a currency or temperature converter (I forget which) but that shoud get you started.
You could also follow the link in my sig. & download my Musical Scales program. The complete XCode project files are part of the download as a .zip file in the .dmg file. If you're interested in (non-GUI) Java programming you can see the examples that paid for my 2G iPod here --> http://members.cox.net/~pevac/designExamples.html . I wrote examples 4 through 14. Java GUI programming is about as much fun as doing your own root canal with a hand-powered drill. Definitely not recommended for the beginner. I've found XCode/Interface Builder to be an excellent set of dev tools with one exception; I hate Obj-C's String class as compared to Java's String class. Other than this one nit I dig Obj-C & Apple's dev tools. |
quote |
Microbial member
|
I've been reading Kochan's Programming in Objective C and I've been finding its approach really rather excellent — it assumes no prior knowlege of C/++ at all, and goes from the basics on in.
There was a good thread on this topic over at .com, but I couldn't be arsed linking to it. |
quote |
25 chars of wasted space.
|
I didn't check Apples documentation yet for xcode, but does it contain, or somewhere have an exhausting list of functions and everything about them/it like php.net does?
|
quote |
Banging the Bottom End
Join Date: Jun 2004
|
Quote:
Fire up XCode and click Help --> Documentation and you'll see the installed 'books' in your library. [edit] There's also Apple's Objective-C reference in .pdf format. |
|
quote |
hustlin
Join Date: May 2004
|
Cocoa is just plain fun.
Quote:
|
|
quote |
25 chars of wasted space.
|
Programming PHP
Maybe it was the stage I was in, but I just never got bored while reading through this book. It wasn't as dull as most books are to me normally to me. Just had a way of talking about things, and telling why they are useful. It was more like being taught by a teacher then being told how the language works. |
quote |
Veteran Member
Join Date: May 2004
Location: New York City
|
Do any of you remember scheme? in 1997 I coded a calculator for my first (and only) computer science class. Very cool. Does anyone know if it is still used for teaching?
good stuff 1215/234215 (top .51875%) People really have got to stop thinking there is only one operating system, one economic system, one religion, and one business model. -EvilTwinSkippy (/.) |
quote |
Selfish Heathen
Join Date: May 2004
Location: Zone of Pain
|
As Mr Beardsley and bassplayinMacFiend said, writing a good Java GUI ranks among the most painful experiences in life. However, I'd still have to recommend learning Java.
Are you in high school, ast3r3x? Forgive my flakey memory, but I can't really remember how old everyone here is these days. Anyway, if you are and if you plan to take any computer science courses at college, I'd definitely recommend learning Java. It's the "hot" language these days for most programming courses at the university level. Most college students now will graduate knowing a lot of Java and C/C++ and not a whole lot else. A lot of the courses I've taken simply assume you know how to program in Java and can at least read C. Java is very good for teaching you object-oriented design. Everything in Java is an object that can be subclassed. However, Java is very bad at teaching you memory management. You never allocate or deallocate anything in Java; it's all automatic. Java is the "easy" language that lots of universities use because it includes classes that already do just about everything for you from string manipulation to socket networking. Java also, as I mentioned, does memory management automatically, allocating when new instances are created and deallocating with a "garbage collector" a period of time after a variable goes out of scope. If you've worked in a traditional language like C for any length of time, the garbage collector is very difficult to get used to (it was for me, at least). If you're relatively new to memory management, though, the garbage collector is a godsend. If you're already past college or don't plan to take university computer science classes, I'd recommend learning Cocoa... then Java. Since you already know the basics of C++ (and hopefully some memory management), you'd be greatly benefitted by moving into Cocoa and Objective-C which will just be an extension of what you've learned. Learning Cocoa itself will probably not do you a whole lot of good in the "real world" (because a "real" programming job will probably require you to work in MS Visual C or MS C#), but it will give you a very solid foundation on object oriented programming while keeping your mind focused on the importance of memory management. Java would still be nice to learn at some future point because it does at least offer easy cross-platform compatibility. A class you compile on a Mac OS X machine will run exactly the same on a Windows machine and a Linux machine and a Sun machine. You don't even have to recompile! The quality of this board depends on the quality of the posts. The only way to guarantee thoughtful, informative discussion is to write thoughtful, informative posts. AppleNova is not a real-time chat forum. You have time to compose messages and edit them before and after posting. |
quote |
New Member
Join Date: Jan 2005
|
Paul, as I type this, I am working on a scheme project for college. I am a CS major. So yes, it is used still for teaching despite my utter hatred for this language
|
quote |
Veteran Member
|
Thanks y'all. This made for interesting reading....
|
quote |
25 chars of wasted space.
|
Brad, I'm a freshman in college majoring in Management Information System major, so if that is worth anything.
I go to a penn state campus, and I'm taking CmpSci 203, which is a 'business oriented computer programming class.' This means we learn how to work with functions in excel, minitab (although I just copied this lab), Visual Basic (I just used REALBasic to the lab, figured it was the same), and then after we are done with visual basic, we are going to start working with MS Access. We didn't really work with memory management in c++ because we never made programs that were big enough or ran long enough to need it. So I guess there is no interface builder while writing Java huh? Why is it so bad to build interfaces with Java? Can Java programs run at the same speed as cocoa apps can? |
quote |
Banging the Bottom End
Join Date: Jun 2004
|
Quote:
I've found that both Netbeans & Eclipse provide a drag & drop Java GUI builder, but I've already run into issues trying to group buttons & such using these IDEs. At this point I'd say that coding the GUI would probably be easier for me then it would be to use these GUI builders. Java apps won't run as fast as Objective-C Cocoa programs because Obj-C is compiled, while Java is run through a Just In Time (JIT) compiler at run time. This is why Java can run on multiple platforms. The code is compiled into byte code, then this byte code is compiled at run time. As long as a JIT is available for an OS it can compile the byte code. So, think of the byte code as an intermediate level of compilation. VB/VBA is also compiled at run time (although I believe you can compile VB apps but not VBA) so it will run slower than RealBASIC since RB is compiled as well. Hope this helps. [edit] For my CS Major related classes I'd say 90+% was in Java because they wanted to drill OOP into our heads. Two classes dealt with C & one class was in ASM. The database programming classes were the only ones that didn't have any Java or C programming involved cuz that's all SQL. Last edited by bassplayinMacFiend : 2005-02-28 at 21:00. |
|
quote |
Selfish Heathen
Join Date: May 2004
Location: Zone of Pain
|
What bass dude said x2.
|
quote |
25 chars of wasted space.
|
Well we are done with excel and nothing important with visual basic is going to be done. I've taken a VB class in high school my freshman year, and while I don't remember hardly anything, it's so stinking simple.
I hate business oriented programming, it's so boring and relatively simple, the teacher lectures verbatim from the book, she says she had to do all of this stuff, but I can't believe her with how little she seems to know. I guess Java it is then. |
quote |
Banging the Bottom End
Join Date: Jun 2004
|
Quote:
|
|
quote |
Student extraordinaire
Join Date: May 2004
Location: Canberra, Australia
|
Quote:
|
|
quote |
Banging the Bottom End
Join Date: Jun 2004
|
Quote:
|
|
quote |
Finally broke the seal
Join Date: May 2004
|
VB is an interesting language. It is (or atleast was) similar to REALbasic (haven't looked at RB in a long long time). But VB isn't really used very much anymore (atleast not at my job; and from my understanding not much in business). We don't even have a version of VStudio to deal with VB6- anymore; our classic-VB apps are old and time-tested and dont need active development. VB.net, the successor to VB, is a very different language (while maintaining some, perhaps most, of the VB syntax). It breaks compatibility a lot, and theres a whole lot of new concepts introduced to the language (like OO). One thing to note is that VBA is still very close to classic VB. I think I read in VS mag that VBA is going .net (or maybe it already has).
The .net languages are pretty cool. I mean, about as cool as languages can get when they don't allow you to do pointer arithmetic. I certainly wouldn't recommend going with them over anything Cocoa related, but you should be aware that the mono project made a .net compiler (i think c#.net, maybe it was vb.net; maybe both?) that works on non-windows machines, and theres a large enough f/oss .net libraries available to mimic much of the standard .net ones. one side benefit of c#.net is that it is so fucking close to java; well, that may or may not be seen as a benefit. another nifty thing about .net is that any .net language u write in (for windows, theres more than just the standard c# and vb.net) will compile to a bytecode (same idea as java, different implementation). If you are really interested in programming, I think you should learn memory management, thence a language like c, c++ or objective-c. it is a very important part of CS. objc kind of cheats a little, wrt memory management, but theres some there. If you are just curious about programming, a higher level language like java would probably better suite you. WRT sql, yes, they all are basically the same. you have SELECTs, INSERTs, UPDATEs, DELETEs and so on. Sometimes one has a peculiar feature that another one doesn't (like with joins, i think one db had INNER and OUTER joins before the competitors...). |
quote |
25 chars of wasted space.
|
I guess I'll give a go at java since I'll probably have to take a programming course in that sometime in the next three years for my major.
|
quote |
Veteran Member
|
Hi all...
Thanks for all the input.. I'll take it on board and have a think.. Just wanted to let people know I have been reading the thread after asking to be included... 'Remember, measure life by the moments that take your breath away, not by how many breaths you take' Extreme Sports Cafe | ESC's blog | scratt's blog | @thescratt |
quote |
Posting Rules | Navigation |
|
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
What is it with Apples | Jules26 | Apple Products | 79 | 2005-01-18 04:33 |
Do you shut down your computer or do you put your computer to sleep? | Quagmire | General Discussion | 47 | 2005-01-09 19:30 |
What Slows down a computer the most | Wrao | General Discussion | 18 | 2004-08-07 03:29 |
Girlfriend's new computer | DMBand0026 | General Discussion | 18 | 2004-07-31 09:20 |
Sony announces ultra portable computer. | Quagmire | General Discussion | 7 | 2004-07-09 23:24 |