Visual Basic, C#, or Java programming? - Fascinate General

I am currently working on my associates and I need 4-5 credits in BPC, CIS, and some others. I was wondering which classes would better suite me if I wanted to start getting into the hacking and rom building scene.
I have all ready taken a class on C++ so I have a basic starting point on how programming languages operate, but that class didn't transfer to the school I'm currently going to. So my question is, which classes would better suite me (I only need 2 in order get my degree seeing as they are 3 credit classes) to assist with becoming better developer for android?
all insight is welcome, but searching for developers insight...

Java would be best if you want to work with Andriod, as a lot of the code is java, and what isn't in java is mostly C I believe, and possibly a few other languages thrown in.

imnuts said:
Java would be best if you want to work with Andriod, as a lot of the code is java, and what isn't in java is mostly C I believe, and possibly a few other languages thrown in.
Click to expand...
Click to collapse
In the android source there should be c++ besides Java. As for kernel it's mostly C and ASM
Sent from my Incredible 2 using XDA App

FORTRAN 77
Seriously, though, you might consider adding a Linux course or two if they're available and you haven't done so already...
Has anyone seen John Connor?

Checked for linux and there was none. That was my first search. Now should I do c++ and the course that follows c++2. Or a little of both. C and Java. There is also a Java level 2
Sent from my SCH-I500 using XDA App

Related

What Programming Language should i learn first??

im a noob to programming and since school is now over i would like to get started with some android dev. But first want to learn a Computer language, which one would be ideal for Android Dev?
It's not hard at all I don't know any languages and I made my own rom I have advanced knowledge in cmd though, but I guess if you had to pick on I see a lot of XML documents so try that.
c++ hands down.
EDIT:
Wait didn't read all of your post.
Android apps are written in Java...end of story.
There is a MonoDev thingy somewhere that lets you write in C# and convert...but I am not sure how well that will work.
To get started in programming and actually have a comprehension of what you are doing. c++ and console apps.
You can't do GUI until you understand what is going on in the background.
EDIT #2:
Beers are getting to me, and I am gettin lng winded.:
Google Dev site has a VERY good tutorial on setting up Eclipse (The prefered Android Dev IDE) and also some decent tutorials on writing an app.
Hello World doesn;t count in Android, Elcipse write the whole dam program for you by detalt.
english ftw
Kcarpenter said:
c++ hands down.
EDIT:
Wait didn't read all of your post.
Android apps are written in Java...end of story.
There is a MonoDev thingy somewhere that lets you write in C# and convert...but I am not sure how well that will work.
To get started in programming and actually have a comprehension of what you are doing. c++ and console apps.
You can't do GUI until you understand what is going on in the background.
EDIT #2:
Beers are getting to me, and I am gettin lng winded.:
Google Dev site has a VERY good tutorial on setting up Eclipse (The prefered Android Dev IDE) and also some decent tutorials on writing an app.
Hello World doesn;t count in Android, Elcipse write the whole dam program for you by detalt.
Click to expand...
Click to collapse
ok so java is the way to go, then from there learn c++ ??
did not know that google mobile apps where created using JAVA.
cool...
Kcarpenter said:
c++ hands down.
EDIT:
Wait didn't read all of your post.
Android apps are written in Java...end of story.
There is a MonoDev thingy somewhere that lets you write in C# and convert...but I am not sure how well that will work.
To get started in programming and actually have a comprehension of what you are doing. c++ and console apps.
You can't do GUI until you understand what is going on in the background.
EDIT #2:
Beers are getting to me, and I am gettin lng winded.:
Google Dev site has a VERY good tutorial on setting up Eclipse (The prefered Android Dev IDE) and also some decent tutorials on writing an app.
Hello World doesn;t count in Android, Elcipse write the whole dam program for you by detalt.
Click to expand...
Click to collapse
Julianmgn said:
ok so java is the way to go, then from there learn c++ ??
Click to expand...
Click to collapse
C++ should be anyones first language. It forces you to use your head and the compiler does very litte for you.
If you don't have any care to do any other type of programming your life..or make a career out of it...sure just learn Java...
Theory works the same for all languages...but C++ forces you to be a [email protected] Very unforgiving...more forgiving than plain C...but still.
Kcarpenter said:
C++ should be anyones first language. It forces you to use your head and the compiler does very litte for you.
If you don't have any care to do any other type of programming your life..or make a career out of it...sure just learn Java...
Theory works the same for all languages...but C++ forces you to be a [email protected] Very unforgiving...more forgiving than plain C...but still.
Click to expand...
Click to collapse
thank you sir you've been most helpful and i do plan on making a career out of this...i just wanted to know what i should start with to put my foot through the door...thanks
Kcarpenter said:
C++ should be anyones first language. It forces you to use your head and the compiler does very litte for you.
If you don't have any care to do any other type of programming your life..or make a career out of it...sure just learn Java...
Theory works the same for all languages...but C++ forces you to be a [email protected] Very unforgiving...more forgiving than plain C...but still.
Click to expand...
Click to collapse
Completely agree. My first formal language was C, then C++. Do object oriented C++ first, because it will make you appreciate Java. I am a Java/J2EE dev, but my data structures class was in OO C++ and I am thankful for every day I can write Java and not have to worry about pointers, memory allocation and segmentation faults. I have done some embedded C, which is the other end of the spectrum cause you are doing everything by direct addressing of memory, which is also kinda fun.
If you want to go straight into Android development, than yes you can make the jump to Java, and the SDK does allow for both XML based UI design, and Swing-like. Just make sure you read up on garbage collection within the JRE(Make sure you understand what weak and soft referances are) and also there are some talks from Google IO in the past years that touch on some good practices.
BTW, XML is not a programming language, it is a markup language. It is most commonly used in serializing data, mostly because it too is object oriented. One alternative to XML that is becoming more popular due to the increasing amount of AJAX applications is JSON. Also, if you do any XML parsing, make sure you know the difference between a DOM based parser(JDOM) and an event-based parser(SAX), using the right one can drastically increase performance.
lineman78 said:
Completely agree. My first formal language was C, then C++. Do object oriented C++ first, because it will make you appreciate Java. I am a Java/J2EE dev, but my data structures class was in OO C++ and I am thankful for every day I can write Java and not have to worry about pointers, memory allocation and segmentation faults. I have done some embedded C, which is the other end of the spectrum cause you are doing everything by direct addressing of memory, which is also kinda fun.
If you want to go straight into Android development, than yes you can make the jump to Java, and the SDK does allow for both XML based UI design, and Swing-like. Just make sure you read up on garbage collection within the JRE(Make sure you understand what weak and soft referances are) and also there are some talks from Google IO in the past years that touch on some good practices.
BTW, XML is not a programming language, it is a markup language. It is most commonly used in serializing data, mostly because it too is object oriented. One alternative to XML that is becoming more popular due to the increasing amount of AJAX applications is JSON. Also, if you do any XML parsing, make sure you know the difference between a DOM based parser(JDOM) and an event-based parser(SAX), using the right one can drastically increase performance.
Click to expand...
Click to collapse
thank you sir's, i will then start on c++ right away lol...well tomorrow haha
yeah cuz this is my career path of choice and i now know how to get started thank u lol
If you wanted to get started in programming apps for Android then you might as well start with Java since that is what it uses and will get you going the quickest.
If programming is something you would like to pursue then I would recommend a slightly different longer route.
First and foremost is stay away from doing anything visual. You want to just program console apps. The visual GUIs come later after you have an understanding of programing and it will only confuse you this early on.
For a complete newbie I would recommend playing around with some form of BASIC. You don't really need to but I feel it helps to start understand the ideas of programming.
From there I would highly recommend regular old C. C code will actually work in C++ but I recommend C so that you stay away from some of the stuff in C++. Mainly the Object Oriented parts of C++.
First you need to learn about data types, variables, arrays, loops, and functions.
After that then I would recommend jumping into C++ for a little bit to program some classes. Just to understand classes a little bit. Then I think move over to Java to start to fully understand object oriented programing and learn more about problem solving, algorithms, recursion.
And then after that... well, by that point you probably will know where you should be headed but it will probably involve going back to c/c++ for some more advanced programing, optimization, a better understanding of how everything works down to the compiler and OS level interprocess communications.
centran said:
If you wanted to get started in programming apps for Android then you might as well start with Java since that is what it uses and will get you going the quickest.
If programming is something you would like to pursue then I would recommend a slightly different longer route.
First and foremost is stay away from doing anything visual. You want to just program console apps. The visual GUIs come later after you have an understanding of programing and it will only confuse you this early on.
For a complete newbie I would recommend playing around with some form of BASIC. You don't really need to but I feel it helps to start understand the ideas of programming.
From there I would highly recommend regular old C. C code will actually work in C++ but I recommend C so that you stay away from some of the stuff in C++. Mainly the Object Oriented parts of C++.
First you need to learn about data types, variables, arrays, loops, and functions.
After that then I would recommend jumping into C++ for a little bit to program some classes. Just to understand classes a little bit. Then I think move over to Java to start to fully understand object oriented programing and learn more about problem solving, algorithms, recursion.
And then after that... well, by that point you probably will know where you should be headed but it will probably involve going back to c/c++ for some more advanced programing, optimization, a better understanding of how everything works down to the compiler and OS level interprocess communications.
Click to expand...
Click to collapse
that makes sense...thank you sir very helpful but do u think it would be ok if i just jump into C then C++
Julianmgn said:
thank you sir's, i will then start on c++ right away lol...well tomorrow haha
yeah cuz this is my career path of choice and i now know how to get started thank u lol
Click to expand...
Click to collapse
Don't bother trying to figure out any of the C++ graphics languages, just do some programs with command line interfaces. I would also suggest that once you figure out the basics that you concentrate on object oriented C++ as it will make for an easier transition to Java, but you should also learn the difference in pass by reference and pass by value, which also involves learning about pointers. Also, learn make early on as it will make compilation easier. The Java equivalent to make is Ant when you get there.
This seems to be an okay book to get you started.
I wouldnt suggest working on all data structures, concentrate on some of the more common ones like linked lists and b-trees. In Java, a lot of these are already implemented, but it is good to know how they work. If you want a real challenge try and do a skip list. It is very difficult, but if implemented correctly you should be able to take a file filled with millions of data points of randomized data, read it in and index it for instantaneous search in under a minute.
Julianmgn said:
that makes sense...thank you sir very helpful but do u think it would be ok if i just jump into C then C++
Click to expand...
Click to collapse
That should be fine. Stick to C to learn the basic stuff and then you can then learn some of the object oriented stuff in C++ like classes. That will help you when you move over to Java. You can then start to learn the more complicated stuff.
Like lineman78 said, Java implements some complicated data structures like stacks and linked lists and a bunch of others. Do not use those! When you are making the leap from C++ to Java you are doing so to learn to code those things for yourself.
Oh, and don't let people put you off to C. If you are sticking to the very basics I feel it is a good way to start. Then after you learn a bunch of stuff you can come back to C to learn some of the harder stuff.
centran said:
That should be fine. Stick to C to learn the basic stuff and then you can then learn some of the object oriented stuff in C++ like classes. That will help you when you move over to Java. You can then start to learn the more complicated stuff.
Like lineman78 said, Java implements some complicated data structures like stacks and linked lists and a bunch of others. Do not use those! When you are making the leap from C++ to Java you are doing so to learn to code those things for yourself.
Oh, and don't let people put you off to C. If you are sticking to the very basics I feel it is a good way to start. Then after you learn a bunch of stuff you can come back to C to learn some of the harder stuff.
Click to expand...
Click to collapse
thank you and to all of u for ur help...C it is then C++ then java lol
These are my sole opinions and no one else's, take this as you will.
With programming, you shouldn't be bound to a specific language when you first begin; rather you want to learn the semantics and syntax of programming. Whether you start with C++, C, or Java shouldn't make too much of a difference, especially since all three languages are essentially all derivatives of each other.
Java is the highest level language and as such is considered to be a standard language all CS/MIS students have to take nowadays. When I was freshmen in college, I started with C++, but the very next semester -- the CS/MIS department said that C++ would stop being offered and that Java would take its place as a beginner level course.
I'm not saying C++ isn't still used to, because that's not even remotely true; however almost all Universities now teach Java as a beginner CS course for new students, mainly because it's a high level language and it allows for students to learn OOP (Object Oriented programming).
Since your end goal is to develop applications for Android, it's probably best you learn Java, since all the Android apps are built using Java and XML.
Your best resource is the Internet.
You can find University Lectures all over the web. The OpenCourseWare project has grown a lot and allows for the entire world to get an education. For FREE. If you don't know it is, you can go HERE to read more. Basically though, it's a collaboration of the top Universities (MIT, Standard, CIT, Harvard, etc) to provide there coursework and almost all classes they offer to the world. These universities record all there lectures and host them either on their sites or on Youtube. They also provide all the materials you'll need to learn alongside everyone else, as if you were in the classroom yourself. You can go at your own pace; stop, rewind, pause the video if you're stuck, and take as long as you want on the assignments. It's a great way to self-teach yourself programming; plus the Internet will most definitely give you the answer to any questions you get stuck on.
I'm currently doing the Beginner Java course that Stanford is offering (as a refresher). The professor that teaches the course is exceptional and you'll see that my sentiment is echoed in the comments section on Youtube. Stanford's way of teaching Java and especially OOP allows new students to slowly, but surely grasp the OOP concepts (as they can be a little difficult to understand at times). You should benefit from this, just make sure you follow through and do it.
Stanford Java Course
Here's a list of other helpful resouces:
Cosmolearning - Intro to CS
All of MIT's CS Lectures
Google Books -- You'll find endless amounts of books, just search the language you want to learn and have a go.
Good luck.
I was a computer science major for one semester. lol. We started with Java.
the CS/MIS department said that C++ would stop being offered and that Java would take its place as a beginner level course.
Click to expand...
Click to collapse
My university started allowing students to use Java, but still taught in Contrast++ after I finished. It is 2 different teaching styles, and I prefer low level first because it makes you think about things that when you go to a high level language like Java become trivial but useful in optimization. Granted, it is a steeper learning curve this way and I can see why someone would argue that starting with a higher level language is a better approach. But there are things a lot of people do wrong in Java because they don't understand the basics. The most common result is a memory leak or concurrent modification exceptions. Personally, my path was TI-83 programming, BASIC, C, PHP, OO C++, Perl, Java, Javascript.
-------------------------------------
Sent via the XDA Tapatalk App
my progrmmaing path was:
C -> C++ -> Java
also learned
vb,Vb.net and C#.net ,Java Script,PHP
I would recommend starting with C++ (with atleast basics )and then switch over to Java.
go to EDUmobile.org. They offer an Android development program for about 200 bucks with certification ath the end. They also offer iphone.

[Q] future android developer

hi guys
I am an 16years old guy android lover.eddicted to Android
after using android from an year I have decided my future to be an Android devoleper
my aim is to work in Google android project or to become an devoleper like cynagon
can u(the best devolepers of xda) say me what languages to learn and all that I need to be a best android developer.
I also have the question that which operating system is good for learning languages and for Android devolepment is it
1 windows
2 mac os x
3 ubuntu
please my life is in ur answers
Really nice to see other ambitious persons wanting to develop in Android I myself have kind of the same question but I will open my own thread about that later.
Now for you.
I would say you should learn Java as I often read. and when you got a good basic of Java ( or any programming language for that matter) about variables and loops.
Also google provides several usefull starting points for android development but I wouldn't start with that before you have a good basic knowledge of programming itself.
http://developer.android.com/sdk/index.html
This link I find very usefull you learn how an android app works. Where is the data stored, what does it do when you click an app away( instead of exiting the problem)
http://developer.android.com/guide/topics/fundamentals.html
That is my 2 cents about Android Development.
For OS I myself use Mac OSX I find it alot easier to connect with adb than Windows but I can't say what is better.
Goodluck! hope to see alot of programs from you!
You need to become proficient in C/C++ and all the rest will fall into place. I recommend the linux platform (you mention ubuntu, but there are several) as the android platform is linux based. I use Gentoo myself.
Gene Poole said:
You need to become proficient in C/C++ and all the rest will fall into place. I recommend the linux platform (you mention ubuntu, but there are several) as the android platform is linux based. I use Gentoo myself.
Click to expand...
Click to collapse
agreed about c/c++, if you are proficient in c/c++ most if not all other languages will fall into place. its not about the language though but rather the theory and principles behind the languages. I suggest c/c++ because imo if you get c/c++ you get all the others.
Gene Poole said:
You need to become proficient in C/C++ and all the rest will fall into place. I recommend the linux platform (you mention ubuntu, but there are several) as the android platform is linux based. I use Gentoo myself.
Click to expand...
Click to collapse
Oh yeah, I agree here as well. In general, Linux is definitely good for learning programming on. All the tools are *free* (most of my college classes dealt with the Linux platform for this reason). Also, at least on Linux, I have not had problems getting ADB to recognize my device. On Windows, I did get my system to recognize my device, but it definitely took longer.
(Using OpenSuSE for my Android development).
Actually, unlike these spectacular developers, I recommend you learn Java. Android IS coded in JAVA and it is an object oriented programming language, which is in many ways VERY different from C/C++.... Then start going through demos of other Android applications till you can read the code and understand what it is doing.
It finally makes sense why Android developers are so far behind the rest in app development....... college degrees would help.
what happens if I learn java, c/c++
mynameisvineeth said:
what happens if I learn java, c/c++
Click to expand...
Click to collapse
I'm not sure what the question is here... Are you asking what you should do after learning those, or for more opinions about which you should start with?
Anyway, the best thing would be to take a computer science course. That way you'd learn all the fundamentals of computer programming as well as specific languages. If you can't do that, you can always just teach yourself. For example, I took a few basic programming classes (e.g. a few hours a week for 10 weeks "Introduction to C") but after that, everything I learnt was self-taught in Java using the Android SDK. I've been working at it for about a year now, and published my first app 6 months ago which has been selling slowly but steadily, so it can be done.
There are many many resources online you can find, as long as you have the patience and time to read everything. The two best places to learn things from are the official developer's guide and Stack Overflow; Stack Overflow is a question and answer site for programmers.
if I learn the three languages in the collage can i devolep apps.
my aim is to become an good android software engineer so please anyone suggest which course should I take in the university such that my future will be bright with google.
mynameisvineeth said:
if I learn the three languages in the collage can i devolep apps.
my aim is to become an good android software engineer so please anyone suggest which course should I take in the university such that my future will be bright with google.
Click to expand...
Click to collapse
You don't need to learn all three languages. I would personally learn Java first since it's excellent to learn basic programming concepts in and techniques and it is the main language used for developing Android apps. C/C++ should definitely be learned at some point if you want to work for Google, but you'll need at the very least a bachelor's degree before you get to that point. If you get to that point, I am sure you will have learned C/C++.
I do OK under Windows, but I recommend Linux if you can. USB drivers and I was good to go. Java is great, seems dauting at first. I would get java first. But once you know, you like it. At least I did. Makes it more difficult to make a mistake, IMO.
Of course, I'm just starting. Listen first to the extremely advanced people that post here.
Good luck!
is computer science good for me?
Depends I know a few Computer science schools where they teach PASCAL I don't think 4 years of PASCAL will be usefull so it kinda depends what classes are given there. Don't you have a summary of what classes you get at that computer science school? and furthermore computer science can be useful but I don't think you have to know what hardware is in a computer to create an android app.
SterAllures said:
Depends I know a few Computer science schools where they teach PASCAL I don't think 4 years of PASCAL will be usefull so it kinda depends what classes are given there. Don't you have a summary of what classes you get at that computer science school? and furthermore computer science can be useful but I don't think you have to know what hardware is in a computer to create an android app.
Click to expand...
Click to collapse
You have no idea what you're talking about. A computer science degree is not about what language you learn and how to program. It's about the concepts of computer science. It doesn't matter what language a computer science program uses. It has everything to do with the conceprd you learn to apply to programming.
Sent from my GT-I9000 using XDA App
If you wanna work on Android, start with an app instead of trying to work on the framework. You'll learn a lot more, much faster.
It sounds like your definition of a computer science degree is closer to what I'd call "computer theory".
Q: What's the difference between theory and practice?
A: In theory, there's no difference between theory and practice.
Yes, learning threading concepts (for example) in one language will carry over reasonably well to another... but you'll still need to learn a new API, and no two APIs are conceptually identical. Actually being familiar with a given language/API/OS/IDE out of the gate is a pretty big deal when it comes time to Actually Get Hired... or just doing stuff on your own with It (whatever It might be).
I was going to start a new thread with the following post, but I think my questions fit with this thread...
"I have a scientific/technical background and know some networking and Linux basics (i.e. enough to set up a very functional home server with SFTP, Samba, DLNA server, etc from Ubuntu/Deb packages), but I have very little computer programming training.
Where is the best place to start if I would eventually like to develop Android apps?
Should I focus on programming fundamentals with Java as the main programming environment or step right into the Android SDK with Eclipse?
Any links to recommended tutorials and lessons would be greatly appreciated too.
Thanks!"
It sounds to me like Java is the best language to use when learning programming fundamentals if the intent is to develop Android apps in the future. Links to recommended educational resources would really make this a valuable thread.
@ChiefNugget: Please learn first Java and then if you have understood the basics take a look at the developer.android.com site. You should buy a good Java Programmer Book Click
Couple of things to get straight here:
1. "Android" is written in C++ - This is the OS of the phone, it's not written in Java - if you want to be big like Cyanogen you'll need to know C++ very very well. *Sidenote: EXCITED FOR GINGERBREAD CODE TO DROP SOON*
2. Java is not a compiled language (why no OS is written in it) it is a "Interpreted" language meaning that there is very little change from what you type to what the JVM (Java virtual machine, in our case "Dalvik") actually interprets and runs as "Java Byte Code"
So it depends what you want your concentration to be in, if you want to write machine level code - hit up the C++ side of things, if you want to write Apps - java is where you should go.
How ever, I recommend to anyone who wants to become a developer, learn C++ before you learn anything. It's difficult for a reason - it makes you better in the end when you understand how memory is managed and why you shouldn't do things that lots of developers do.
Kcarpenter said:
Couple of things to get straight here:
1. "Android" is written in C++ - This is the OS of the phone, it's not written in Java - if you want to be big like Cyanogen you'll need to know C++ very very well. *Sidenote: EXCITED FOR GINGERBREAD CODE TO DROP SOON*
Click to expand...
Click to collapse
And linux is written in C.
Kcarpenter said:
2. Java is not a compiled language (why no OS is written in it) it is a "Interpreted" language meaning that there is very little change from what you type to what the JVM (Java virtual machine, in our case "Dalvik") actually interprets and runs as "Java Byte Code"
Click to expand...
Click to collapse
That is quite debatable. Between "javac", and JIT compilers, java code does indeed get turned into machine code. And "compiling to bytecode" is still has a valid meaning. When I think interpretted languages, I think "no code is checked until it is executed". You find out about syntax errors when you run it, not when you hit the "build it" button on your IDE.
Kcarpenter said:
How ever, I recommend to anyone who wants to become a developer, learn C++ before you learn anything. It's difficult for a reason - it makes you better in the end when you understand how memory is managed and why you shouldn't do things that lots of developers do.
Click to expand...
Click to collapse
Oh, granted. With java you ALMOST don't need to know what pointers are... but what's left will HANG YOU if you're not careful.
GC's spoil you. Kids these days! Why when I was your age... Anyway, getting into the habit of releasing memory early on means closing files and other resources is likewise well understood. Someone learning java only runs into resource management later on... "stunts their growth" as it were... like Europeans and fractions (metric vs Seemingly random combinations of units).
Get off my lawn!

[Q] Best way to get up to speed?

I've been programming off and on since the Commodore 64, but I've been out of it for a while (lack of time) and I'm just getting back into it. Now I'm interested in Android development, which I see is done on Java. I've done C and C++ programming, including up-close-and-personal-with-the-hardware programming, but I haven't done Java. I've also done Unix, HP-UX, and Linux shell scripting, so I have about an intermediate understanding of the unix flavors.
Given that, what's the best source of information on Android and Java? Inquiring minds want to know!
Hey I had a Commodore64 ! I remember typing in hexcode (and basic of course) to create programs.
Anyway, u might find good advice on Google's android development website...sorry don't have the address handy.
Sent from my SAMSUNG-SGH-I997 using Tapatalk
andrawer said:
Anyway, u might find good advice on Google's android development website...sorry don't have the address handy.
Click to expand...
Click to collapse
See the following website. I hope that this is the site to which you were referring.
developer(dot)android(dot)com(slash)index.html
Sorry, but could not post the actual address due to not having enough posts.
rjk4116 said:
See the following website. I hope that this is the site to which you were referring.
developer(dot)android(dot)com(slash)index.html
Sorry, but could not post the actual address due to not having enough posts.
Click to expand...
Click to collapse
Thanks, I'll check that out.
Serial_Noob said:
I've been programming off and on since the Commodore 64, but I've been out of it for a while (lack of time) and I'm just getting back into it. Now I'm interested in Android development, which I see is done on Java. I've done C and C++ programming, including up-close-and-personal-with-the-hardware programming, but I haven't done Java. I've also done Unix, HP-UX, and Linux shell scripting, so I have about an intermediate understanding of the unix flavors.
Given that, what's the best source of information on Android and Java? Inquiring minds want to know!
Click to expand...
Click to collapse
I am a big fan of Pluralsight training (www-pluralsight-dot-com). They have some great Android development training, and you can do a free 10-day trial (so just learn fast...lol...). I happened to win a 1-year "Plus" subscription at a Microsoft event last year, and have thoroughly enjoyed it (especially the Android stuff -- helps you set up everything from square one -- Eclipse, Android SDK, etc.). Good luck!
-- ktalley

C# programming - anyone use Xamarin?

Has anyone used Xamarin to build their android apps? I have been programming using C# for sometime now but have never used it to build anything for android.
They have tons of free libraries, but as for licensing, I am skeptical in purchasing. Anyone like or dislike Xamarin? If you do or do not, can you explain why? Thanks a bundle!
Haven't used it but you have to think whether it's worth the price. The advantage is you can write in C# and share code between Android/iOS. However the UI is still platform-specific, so it has to be implemented twice. A free alternative is to use C++ for shared code (Android: via NDK, iOS: compiles directly), but that definitely needs more initial setup effort than buying Xamarin's product.
Here is an informed opinion
There is a gaming studio that used Xamarin to port their WP stuff to Android and iOS, and they're quite happy with how it turned out.
Do a search for "FourBros Studios, Cross-Platform Game Development with Xamarin and MonoGame". I can't post a direct link because of forum rules here.
Of course games are entirely different beasts than regular apps (for example, UI-wise), so not everything may apply to your situation.
I've plaid with Xamarin... and its a good system.. but Is it worth $300 to not learn java?
Cross platform development tools have their place, but IMHO unless you have a large project and NEED a cross platform development tool you are hurting yourself by not going native.
Just my .000002c
Java is so similar to C# I would think you'd be fine just going native - in terms of syntax they're virtually identical. I do kind of miss the var keyword though lol
I agree with LostByte - there's no real point to going cross platform unless you really need it. Don't stay with C# just because it's what you know! Use what's most appropriate for the app

[Q] Native code or xamarin for beginner app developer

I am wanting to learn app development, and I have some C# experience. I have heard of a tool called xamarin which lets you code in C#, but if I may want to get a job doing app development one day, should I learn how to code in the native language first?
Thanks for the input
lordbyronxxiv said:
I am wanting to learn app development, and I have some C# experience. I have heard of a tool called xamarin which lets you code in C#, but if I may want to get a job doing app development one day, should I learn how to code in the native language first?
Thanks for the input
Click to expand...
Click to collapse
Start with whichever you find easier and friendlier.
There are jobs out there for both Xamarin and native developers. Plus, once you've grasped one framework, learning another one will be much much easier.
Good luck.
I'm admittedly biased as someone who's been doing native dev since day one, but I would at least point out that as robust and awesome as tools like Xamarin are today, they're an unreliable foundation upon which to build subject matter expertise. By learning native dev you're picking up foundational techniques that aren't going anywhere any time soon; Xamarin abstracts a lot of that learning away.

Categories

Resources