Scratching Head...
Well...
Wow...a whole lot of questions. I am watching...about halfway through the feed of WWDC 2004 Keynote availble through apple.com.
Just recently...have I steered towards Apple. I know nothing about the history (Which I'd love to know) nor really how any of it works...so if they may sound redundant, I appologize.
1)What are Developers...are they programmers? Can anyone become developers? Do they write with 'applescript?' What other things can they write with? Are these creating huge programs...or do people use them to make other things easier? The reason I ask this is because Macintosh OS X for dummies said you could use it to do things you commonly do on your computer.
I really wish there were links that you might have to answer without having to give a huge answer for. I can figure stuff out, but I don't know what to look for...that is the problem! Lol.
2)What is UNIX? How is it different than how a Windows computer runs?
3)Tiger will have Xcode in it (I think that's the name), does that mean everyone could mess with that sort of stuff. I might not want to mess with it...but I would just like to know what everyone is talking about.
I'd go on more...but it's going to take a while to think of the question so maybe I could add on as time comes on.
I appreciate you "Young Grasshoppering" me.
Wow...a whole lot of questions. I am watching...about halfway through the feed of WWDC 2004 Keynote availble through apple.com.
Just recently...have I steered towards Apple. I know nothing about the history (Which I'd love to know) nor really how any of it works...so if they may sound redundant, I appologize.
1)What are Developers...are they programmers? Can anyone become developers? Do they write with 'applescript?' What other things can they write with? Are these creating huge programs...or do people use them to make other things easier? The reason I ask this is because Macintosh OS X for dummies said you could use it to do things you commonly do on your computer.
I really wish there were links that you might have to answer without having to give a huge answer for. I can figure stuff out, but I don't know what to look for...that is the problem! Lol.
2)What is UNIX? How is it different than how a Windows computer runs?
3)Tiger will have Xcode in it (I think that's the name), does that mean everyone could mess with that sort of stuff. I might not want to mess with it...but I would just like to know what everyone is talking about.
I'd go on more...but it's going to take a while to think of the question so maybe I could add on as time comes on.
I appreciate you "Young Grasshoppering" me.
Comments
Originally posted by iShawn
Well...
Wow...a whole lot of questions. I am watching...about halfway through the feed of WWDC 2004 Keynote availble through apple.com.
Just recently...have I steered towards Apple. I know nothing about the history (Which I'd love to know) nor really how any of it works...so if they may sound redundant, I appologize.
1)What are Developers...are they programmers? Can anyone become developers? Do they write with 'applescript?' What other things can they write with? Are these creating huge programs...or do people use them to make other things easier? The reason I ask this is because Macintosh OS X for dummies said you could use it to do things you commonly do on your computer.
I really wish there were links that you might have to answer without having to give a huge answer for. I can figure stuff out, but I don't know what to look for...that is the problem! Lol.
2)What is UNIX? How is it different than how a Windows computer runs?
3)Tiger will have Xcode in it (I think that's the name), does that mean everyone could mess with that sort of stuff. I might not want to mess with it...but I would just like to know what everyone is talking about.
I'd go on more...but it's going to take a while to think of the question so maybe I could add on as time comes on.
I appreciate you "Young Grasshoppering" me.
1. Developers can range in technical ability to create programs anywhere that you describe. Sure, anyone can become a programmer, although those with either formal courses or other background experience are more likely to make a solid program
Applescript is one way to do certain things. Most developers either write in "programming languages" such as Objective-C, C++, or Java.
As far as making things easier for the average person to script commonly done tasks, this should be facilitated by Automator.
http://www.apple.com/macosx/tiger/automator.html
Currently, for Mac OS X, you can use Applescript:
http://www.apple.com/applescript/index.html
2. http://www.apple.com/macosx/features/unix/
3. Sure, you could mess with it. It's good to have an idea what to do with it though
XCode:
http://www.apple.com/macosx/features/xcode/
C++ is one language that you can use to build these applications (aka, programs). The Mac can understand several different programming languages, and have different libraries of tools and chunks of code to help program with each language. You can even mix languages under certain circumstances. APIs (Application programming Interfaces), libraries and frameworks are ready-made sets of tools and elements you can use and reuse to help build these applications. There are several levels of code and tools that are progressively more advanced and freeze-dried if you will. It's known as abstraction, where instead of writing all this C++ code to draw a window, you can use the GUI app Interface Builder to create a window for you. XCode does the same sort of thing -- helps manage how the program is built, and helps with the mundane, repetitive or standard parts so you don't have to write everything in code all the time. So while a good deal of programming is done on a command line like what do describe as a black screen and text prompts, (these command line areas can actually be shown in windows and side by side graphical tools) the OS vendor supplies tools to aid you in creating these programs. Most of these general ideas and tools -- languages, APIs, abstraction, etc. are available to Windows, unix, Linux, etc. as well. They all have their own way of doing things, of course, and they are different in their particulars, but the idea is to make creating an application less difficult and let you concentrate on the tougher or custom parts of your application.
Anyway, all this stuff is just about what goes on under the hood. The idea of applications is so not every Tom Dick or Harry has to know or care about this stuff. Otherwise, we'd each be baking up our own Photoshops and iTunes apps.
Originally posted by iShawn
My father is a computer programmer. He has taken a lot of recent classes and has a program on his laptop (An IBM I believe) where he can write and run C++ programs. All I really know about it is that. But it is in the C DOS looking thing with just the black screen and text prompts. Is this the basis to all programs? Could he program my computer to do stuff? I know hardly anything about C++ but does it tie along with the other stuff Mac is programmed with?
A fair amount of programming has historically been done on command lines just because hardly any work is required to get basic input and output going, so you can concentrate on the problem you need to have solved. Also, many languages in wide use were originally designed before GUIs, so it's easier for them to take output from and send output to a command line.
Also, some people just prefer working in command lines. In Windows especially, it can be much, much faster. But whether you use a command line or a GUI is basically irrelevant to the code you're writing. They're just tools.
C++ is a standard language (meaning that there's a internationally recognized and widely implemented standard defining it that was ratified and published by a standards committee). It's one of the most popular languages, possibly the most popular by now. There are many applications written in C++ on the Mac. Many of those use C++ because (if you're careful) you can use a lot of the same code no matter what system you're running it on. There are many, many other languages you can use, which might or might not be better depending on what you want to accomplish.
OS X is a great platform for getting your feet wet. I'd suggest getting one of the 'Learning' series from O'Reilly and jumping in if you'd like to learn.
Finally, you don't need courses, or a degree. Many programmers become programmers for fun, and some just because they need to learn how in order to get their work done. One of the foremost AppleScript programmers is a retired lawyer, for instance.
Originally posted by iShawn
Well...
Wow...a whole lot of questions. I am watching...about halfway through the feed of WWDC 2004 Keynote availble through apple.com.
Just recently...have I steered towards Apple. I know nothing about the history (Which I'd love to know) nor really how any of it works...so if they may sound redundant, I appologize.
1)What are Developers...are they programmers? Can anyone become developers? Do they write with 'applescript?' What other things can they write with? Are these creating huge programs...or do people use them to make other things easier? The reason I ask this is because Macintosh OS X for dummies said you could use it to do things you commonly do on your computer.
I really wish there were links that you might have to answer without having to give a huge answer for. I can figure stuff out, but I don't know what to look for...that is the problem! Lol.
Developers 'develop' software or hardware+software solutions for computing problems.
When I worked as a developer for a company that made multimedia, we coded CDROMs (using Macromedia Director or other authoring tools (written by other developers)) as well as hacking custom-built touchscreen kiosk systems where we had to rewire the pinouts from Laserdisc players to accept calls from the Mac. Both are technically 'developer' work, though most people would consider the software parts more developer and the hardware hacks more 'engineer'.
As for Developers on the Windows side... just don't ask Ballmer.
2)What is UNIX? How is it different than how a Windows computer runs?
http://www.unix.org/what_is_unix.html
Unix Guru Universe
http://www.ee.surrey.ac.uk/Teaching/Unix/ - includes 'History of Unix' links
3)Tiger will have Xcode in it (I think that's the name), does that mean everyone could mess with that sort of stuff. I might not want to mess with it...but I would just like to know what everyone is talking about.
I'd go on more...but it's going to take a while to think of the question so maybe I could add on as time comes on.
I appreciate you "Young Grasshoppering" me.
Many programming languages are derivative or built upon prior foundations.
(Not sure who wants to handle the detour into lower-level/higher-level/machine code)
Anybody can mess with Applescript... ships with the machine and has since the 90s. It's relatively straightforward to build simple functions and to peek inside the existing functions to deconstruct how the trick works and steal a free lesson.
Xcode should bring a new level of Object Oriented ease-of-use to programming at a more robust level, both in terms of program capabilities and compatibilities. Where previously, such coding might have required scripting knowledge at the lower levels, Xcode may bring more GUI point-and-click components to programming. Xcode also promises to radically alter the debugging and testing process, making developers lives easier.
Originally posted by iShawn
1)What are Developers...are they programmers?
Yeah, basically. Developers are programmers who develop software.
Can anyone become developers?
Yes. Anybody can develop software if they learn how. Now, if you mean being a registered Apple developer, there are a few different levels of registration which vary in what resources you are given and how much you pay. There is a free registration available for downloading software and source code samples.
Do they write with 'applescript?'
Developers can use AppleScript for certain things, but the majority of software available was primarily written by things other than AppleScript.
AppleScript is a scripting language that can be utilized by applications or by itself to automate some tasks. For example, you could have an AppleScript that checks to see what song is currently playing in iTunes and then display it onscreen.
What other things can they write with?
Virtually any language, as long as a compiler exists. A few languages that can be used are: Java, C, C++, Objective C, Python, Perl, PHP, and LISP. In general, some languages are better than others for certain tasks.
Are these creating huge programs...or do people use them to make other things easier?
You would normally use C or one of it's variants for making a huge program. A scripting language (such as AppleScript) could be used to make things easier.
The reason I ask this is because Macintosh OS X for dummies said you could use it to do things you commonly do on your computer.
AppleScript can let you automate some repetitive tasks you frequently do. For example, you could write an AppleScript that opens up Mail and checks your mail for you every time you log in. (Well, I think you can do that, I've never tried.)
I really wish there were links that you might have to answer without having to give a huge answer for. I can figure stuff out, but I don't know what to look for...that is the problem! Lol.
Using a mac will give you the most answers.
2)What is UNIX? How is it different than how a Windows computer runs?
Well, UNIX is an operating system. Windows and Mac OS X are also operating systems. Basic things like checking your e-mail, browsing the web, writing a paper, etc are going to function in a similar way on any operating system, but the graphics and interace are going to have differences. Deep inside, however, there are lots of differences that would be too numerous to explain.
Mac OS X is actually built on top of a fully functional UNIX-based operating system. This is similar to how older versions of windows were built on top of DOS.
3)Tiger will have Xcode in it (I think that's the name), does that mean everyone could mess with that sort of stuff.
Yes, anybody can use Xcode. I do not know if it will actually be included with Tiger though. I heard that Apple was undecided on whether or not to include Xcode (or Project Builder) in Jaguar and Panther until late in the development cycle, so it could very well be cut from Tiger. If so, it will still be a free download.
I might not want to mess with it...but I would just like to know what everyone is talking about.
Well, it is fairly complicated to learn. I would suggest taking a course (at a university or online or from a book) on C or Objective-C programming before even looking at Xcode. You can compile code in the Terminal if you have the developer tools installed.
He has taken a lot of recent classes and has a program on his laptop (An IBM I believe) where he can write and run C++ programs. All I really know about it is that. But it is in the C DOS looking thing with just the black screen and text prompts. Is this the basis to all programs? Could he program my computer to do stuff? I know hardly anything about C++ but does it tie along with the other stuff Mac is programmed with?
On Mac OS X, you can get something similar by opening the Terminal which allows you to enter unix commands on the command line. DOS is largely just a watered down version of UNIX. Anyway, if the developer tools are installed, C++ programs could be written that would run on your computer. If your father is using standard C++ code, the same code should compile and run on both machines.
Originally posted by rogue27
...
On Mac OS X, you can get something similar by opening the Terminal which allows you to enter unix commands on the command line. DOS is largely just a watered down version of UNIX. Anyway, if the developer tools are installed, C++ programs could be written that would run on your computer. If your father is using standard C++ code, the same code should compile and run on both machines.
A point of clarification. MS DOS was an evolution of QDOS, a rip-off of CP/M. CP/M, in turn, was inspired by RT-11, an OS that ran on DEC minicomputers. When Gary Kildall wrote CP/M, Unix was very much in its infancy.
Originally posted by iShawn
What other things can they write with?
I'll add some gory details
But it is very difficult and inefficient to write programs in the language that a CPU understands. To get a feel of why, you need to see any source code in Assembler. To ease their own work programmers (or, as one of my friends calls himself, coders) have invented a lot of programming languages, which are much more human-readable. Each of these languages was designed with a specific goal to make a particular aspect of programming easier. That's why there are hundreds of programming languages in the wild.
But, in fact, computers don't understand any of these programming languages: they understand only one, the most primitive and obscure. This is overcome with translation, just like English to German, but with precision. Because computers are precise and only can tell 1 from 0. There are 2 basic ways to translate a programming language into a computer program:
1. On-the-fly translation, aka interpretation.
2. Offline translation, aka compilation. This is when you write something in a human-readable programming language, push the big Compile button and get a hopefully working program. If you open the program in any text editor, you will see what exactly computers understand. Nothing fancy, really.
The choice of a programming language is a topic of its own.
Lol.