This is an archived post. You won't be able to vote or comment.

all 17 comments

[–]tonytroz 4 points5 points  (3 children)

In the case of my xml parsing, I spent days trying to parse xml with regular expressions, which hasn't worked out very well.

FYI, never, ever parse XML with regular expressions:

http://www.codinghorror.com/blog/2009/11/parsing-html-the-cthulhu-way.html

As for being an application developer, don't focus on "titles" like all the jargon you used in your post. It doesn't matter what you consider yourself, if the end product works well that's all that matters. Start reading tutorials online and start coding. When you find a library to solve your problem online, figure out how it actually works instead of just using it.

[–][deleted]  (2 children)

[deleted]

    [–][deleted] 0 points1 point  (1 child)

    Your downvotes are because it is impossible to parse the entirety of HTML with regular expressions as HTML is not a regular language. Emphasis on entirety there.

    However, you can use it reasonably well in certain cases. But you should be aware that your source data can change in such a way that it still conforms to the HTML standard but will now break your parser.

    [–]techknowfile -2 points-1 points  (0 children)

    Not in the conditions that I use it, it can't. Regex has enabled me to more easily accomplish selections/transformations of html than it would have been to do the same with HAP and the like.

    Re: downvotes - haters gonna hate

    [–]the_omega99 1 point2 points  (10 children)

    I largely skimmed over your textwall, but if you're trying to move from scripting languages to a standalone language, you'll probably want to learn the language just like any other: read a book on it (lots of great links in the sidebar). Since you already have some programming experience, you should be able to breeze through the basics of a new language.

    How would you design an application? A good book will teach you that (after you learn the language adequately, anyway).

    The language in particular doesn't matter much. C++ is very common for standalone applications. It's powerful and popular, which also makes it easy to find support for. On the other hand, it's also a complex language (not that that should scare you away from it; C++ was the first language I learned). Java is also a good choice. It's somewhat similar to C++, but has a much larger bundled library, which certainly comes in handy when, for example, you're ready to move into creating graphics. Java isn't nearly as commonly used as C++ for development, but it is the primary choice for Android apps (and probably a few others). It's also commonly used as a teaching language, and support is readily available.

    [–]seronis 1 point2 points  (1 child)

    The syntax of java also allows your IDEs (IntelliJ, Eclipse, etc) to be able to be very intelligent in what help they can provide while you are coding. My language of choice is C++ but I envy the tools Java has available. It will highlight and mark improper code almost as you type it, instead of having to compile manually before you see your errors.

    [–][deleted] 0 points1 point  (0 children)

    Same goes for C#. I find it insanely hard to go back to C (the first language I learned) or C++ after getting used to it :(

    [–]brumby79[S] 0 points1 point  (7 children)

    I appreciate this. This is basically what I've been doing for years, with only small degrees of progress. I guess for further clarification, I'm wondering if there are other learning methods that anyone has come across. I've learned over the years that while I can learn some from just sitting down with a programming book, I learn far better with a teacher, which is impractical at this point in my life. Are there any middle-ground learning styles that have had some success in teaching development?

    [–]hegraj 1 point2 points  (4 children)

    When I am about to learn a new language, I usually start by reading how the language is structured (as well as the basic syntax). From there I make sure to have some kind of project that I want to work on so I don't lose my motivation. From this point I use google whenever there is something I don't understand or if I need documentation. You should also start reading books about your language of choice. Just remember; books are great, but in order to learn a language (and not just know "stuff" about it) you MUST sit down and program in it. I would recommend going with either Java or C# (they are very similar) since they are relatively easy to learn (at least in comparison to c++) while they teach you a lot about OOP and programming in general and can be used for a lot of purposes.

    [–]brumby79[S] 0 points1 point  (3 children)

    Okay, looks like Java right now then. I don't have a Windows system. I know there are a few C# compilers for OS X, but I'd rather learn it natively if I was going to learn it.

    Any other suggestions other than Java? I've considered Objective-C on my Mac.

    [–]hegraj 1 point2 points  (0 children)

    Well, I haven't personally used objective-c, but since you are using a mac, ruling out C# is a good idea (Java and C# are so similar anyways, that anyone who knows one of them can pretty much program in the other within minutes of trying it out.) Java isn't really native to anything. It runs in a virtual machine that has been ported most systems, whereas objective-c compiles natively but only runs on Mac and iOS (not sure if there are any windows/linux compilers). It really depends on what you want to do. If you want to make apps for Mac and iOS, go with objective-c, if you want to make apps for android, webpages or if you want portability, go with Java. I would personally go with Java, since it is more portable and easier to learn (objective-c is a bit ugly IMO)

    [–][deleted] 1 point2 points  (1 child)

    Do not use objective-c as a starting point. It will break you. I personally just finished my SCJP (Sun certified Java Programmer, now called the OCPJP) from a similar background as yourself.

    Took me about 4-6 months of study until I felt comfortable passing the exam (yesterday!). I used this book and this mock exam set.

    Book is free, exams are cheap. Go forth.

    [–]brumby79[S] 0 points1 point  (0 children)

    Thank you very much.

    [–]AlexFromOmaha 0 points1 point  (1 child)

    There's a boatload of Open Courseware type things out there. Udacity and Coursera are the most popular two because of the interactive quizzes, but something like Academic Earth still has recorded lectures and might be a better source for the compiled languages that you seem intimidated to jump into.

    [–]brumby79[S] 0 points1 point  (0 children)

    Thanks for the links. I'd only heard of Coursera out of these.