Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

whit2891

macrumors member
Original poster
Aug 26, 2013
60
39
First off, I'm a business guy that currently works in front end administration for a system tool. I want to learn something new to enhance my skill set. I am very interested in application development, yet do not currently have the skill set (complete noob). I am pretty good with Filemaker and create scripts, etc., but I know that is simple relative to Swift for example. To create something great would presumably take several years; also there’s no guarantee I have a knack for it.

I am really intrigued by the idea of solving business problems by creating my own business applications. I am thinking about learning Swift in Xcode 7 or perhaps learning some web app development in Xojo (which i hear is a bit simpler). The ability to connect a backend database to a slick front end application sounds like so much fun (and I got a taste of that in Filemaker); however, I can't brand a filemaker app and sell it on the App Store or brand a filemaker Go app to my tastes (and make it look really awesome).

Does anyone have any feedback regarding these? Perhaps MySQL, PHP, Javascript would serve me better for my future goals.
 
MySQL is a database. The language for using it isn't general purpose, so not a good choice right now.

PHP and JavaScript are each general purpose.

If you want to make apps for the App Store, you'll have to learn Swift.

But there's no reason you have to distribute an app via the App Store, if you're talking about making a Mac app.

Personally, I think Python is the best and easiest language to use. It's general purpose and relatively free of confusing things that can trip a beginner up. There's a free online book called Learn Python the Hard Way. I highly recommend it.
 
MySQL is a database. The language for using it isn't general purpose, so not a good choice right now.

With perhaps the caveat that if his app is databse-driven, even if he ends up using a tool like SQLAlchemy, knowing something about how the underlying SQL works is a benefit.
 
  • Like
Reactions: CreatorCode
Take a really basic programming course first. Any language. To see if you have the basic aptitude, interest and determination to actually learn to code solutions to problems.

Trying to learn any particular language (Obj C or Swift) first can lead to failure to learn anything useful. Solution-specific languages are best learned as a second language (bonus: you end up knowing 2 or more programming languages, which makes almost everyone a better programmer).

Trying to create business solutions or apps without sufficient prior programming experience is a recipe for disaster.
 
Or objective C.

That's true. But I would guide him to the language introduced in 2014 instead of the one introduced in 1984... the one with a growing user and codebase rather than a shrinking one. Within a few years, Apple will kill Obj-C and Swift really will be the only option. Knowing Obj-C will be all but pointless then.
 
Apple will kill Obj-C and Swift really will be the only option. Knowing Obj-C will be all but pointless then.

They once said something similar about Cobol. A decade or two later, Cobol consultants were still pulling in top dollar. But maybe Apple is as good at killing programming languages are they were with floppy drives.
 
They once said something similar about Cobol. A decade or two later, Cobol consultants were still pulling in top dollar. But maybe Apple is as good at killing programming languages are they were with floppy drives.

Nobody makes new programs in COBOL, though. People who are working with COBOL are maintaining old programs.

The same thing might happen with Obj-C, but I seriously doubt it. Whereas organizations that are resistant to change, I.E., banks, governments, military contractors, invested huge amounts of money into COBOL mainframes that needed to last for decades, I don't think anyone did the same thing with Obj-C.
 
They once said something similar about Cobol. A decade or two later, Cobol consultants were still pulling in top dollar. But maybe Apple is as good at killing programming languages are they were with floppy drives.
Cobol consultants did really, really well in the years prior to Y2K, but it was a fairly unique opportunity (and "fairly" is quite an understatement).
 
earning to write an app that runs on a phone is not the place to start. everyone begins by wring simple programs that run inside a terminal window. The classic first program is one that prints "Hello World" to the terminal window.

Get an entry level book in programming. The book should have you do the above as a first step. If not find different book.

The language is not so important. Java is not a bad place to start as it is universal (Windows, Linux, Mac OS X,..) What you need to learn to write more complex apps is not so much a language but the huge set of APIs that you must make use of. Learn the language by working in the terminal where you don't need to learn these APIs then move to whatever platform you like. Moving to a second programming language is very easy after you have basic programming skills.

Expect this to take some time, mounts the years, not days and weeks.

Writing more complex programs is another level. The skill you need here is how to decompose a big problem into sealers ones and so on until they are solvable and ho to do it in a way that minimizes interaction of the parts
 
  • Like
Reactions: firewood
I am an business/administration guy who taught himself coding, and I chose to learn PHP/MySQL/Javascript and I was very happy with that choice. Just about any business application you want to do that involves a database can be done using PHP/MySQL/Javascript, and there are a lot of resources out there to help you learn.
 
  • Like
Reactions: ArtOfWarfare
That's true. But I would guide him to the language introduced in 2014 instead of the one introduced in 1984... the one with a growing user and codebase rather than a shrinking one. Within a few years, Apple will kill Obj-C and Swift really will be the only option. Knowing Obj-C will be all but pointless then.

What about the unbelievably great language that you're developing. It's so awesome that all other languages will be obsolete in a few years and nobody will ever use any other language?
 
What about the unbelievably great language that you're developing. It's so awesome that all other languages will be obsolete in a few years and nobody will ever use any other language?

He wants to learn a language now, not next year. The basics will still apply to my language, just as they apply to any other language.
 
Gee whiz, this sure seems to qualify as a delusion of grandeur to me:

https://en.wikipedia.org/wiki/Grandiose_delusions

I've written programming languages before - it's not particularly difficult. Thousands if not millions have been written and are used by just a few people. It's marketing it and getting other people to use it that's ludicrously difficult.

You're the one saying that it's going to be the greatest ever. I'm neither confirming nor denying that.
 
I've written programming languages before - it's not particularly difficult. Thousands if not millions have been written and are used by just a few people. It's marketing it and getting other people to use it that's ludicrously difficult.

You're the one saying that it's going to be the greatest ever. I'm neither confirming nor denying that.

Actually Delusion is a good name for it.
 
I've written programming languages before - it's not particularly difficult. Thousands if not millions have been written and are used by just a few people. It's marketing it and getting other people to use it that's ludicrously difficult.

You're the one saying that it's going to be the greatest ever. I'm neither confirming nor denying that.

I'm with you in one sense. The number of languages in use today by more than 'just a few' is over 2,000. It has exploded in the last 10 years as people have sought a language to meet very specific needs, not go on flights of fantasy. Think about the languages Google and Amazon developed for coding in multi server web environments.... Languages for statistical analysis. heck, the guy who came up with Swift - was he on an ego trip? It wasn't even started as an official Apple project...

I've been working on my own language - defining it, building a compiler & interpreter for it - it's been fun. I don't care f nobody else uses it or it becomes the 'C' killer... It's been fun and I have learned a lot about better coding and thought practices when it comes to developing embedded software in particular, which is what it is aimed at.

To the OP - Swift & Xcode is a good combo to start in - Swift is an easy language to get started in and stay in, if you intend to stay in the Mac/Apps world. There are several good tutorials out there and the development environment is nice.

I'd also agree that Python is a good alternative to start learning in, but for this you will need to set up a slightly different environment. Good luck!
 
  • Like
Reactions: ArtOfWarfare
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.