What programming language should i learn first?

Hi, i'm Francis, from Rome. As you can see, i have a MacBook White with Mac OS X 10.5.8.
Yesterday i downloaded *Xcode with iPhone SDK (version 3.1)*. I want to create Mac and iPhone/iPod/iPad applications.
I read that there are several programming languages: Java, Cocoa, Cocoa Touch, C, C++, Objective C, Objective C++, Carbon, Classic, BSD, etc...
What should i begin with? +I think Cocoa, Cocoa Touch, C and Objective C, but i'm not sure!+
Can you help me? Thanks!

Java, C, C++, Objective-C are languages. Cocoa, Cocoa Touch, Carbon, and Classic are what are known as APIs - resources you can use in your programs but not languages in their own right. BSD is short for BSD UNIX, and it's an operating system (that's the foundation for OS X). HTML is a document format more than a language.
What language(s) to learn depends on your objectives or needs. OS X comes with Python, Ruby, PERL, AppleScript, and PHP languages (and JavaScript in the web browser). Current versions also include Java. If you install the OS X development tools, it adds C, C++, and Objective-C along with the XCode development environment.
Each of the languages has it's strengths and weaknesses. From a purely educational standpoint, C is a high-level language that will teach you about low-level programming. Java teaches very strong object-oriented programming.
Objective-C would permit you to develop using the iOS toolkits for iPhone and iPad, and also application programming for OS X.
PERL, Python, and Ruby are all simple to learn scripting languages and very powerful for all sorts of automation tasks, text processing, and CGI scripting.

Similar Messages

  • What programming language should i learn?

    Hey! Im new to Archlinux, and linux aswell. I have a friend, which make lots of cool stuff in Archlinux. He says he use c++ etc. I havent readed so much about Archlinux, so i wonder, where should i start? What is the easiest and coolest? Anyone want to tell me?
    BTW: What language does "terminal" use?
    Could you add a tutorial link too, which YOU mean is a good tutorial?
    I really hope for an answer, aswell this is my first post on this forum.
    Have a good day.
    Kim

    Don't start with programming. Move that to your medium-term to long-term goals. If you've just switched to Linux, you have a lot of learning you need to do. UNIX is a hugely flexible OS, but with that comes responsibility, so you need to know how to wield your sword well before you wield it.
    Head to the Arch Wiki (http://wiki.archlinux.org/) and read the beginner's guide. Read this. Read that. If you don't know something or it looks interesting, read it. If you don't understand something, google it. Wikipedia is typically a good source of info; head there for your best bet at a definitive answer to/for something.
    And about the terminal... it doesn't use a language. Things just print to it. And read stuff from it. That's it. Read about escape sequences to learn about how programs control (almost) all available aspects of the terminal.
    AFTER you've read the wiki, played with (and even maybe broken/fixed) your system a little... take a look at the various languages out there, and pick the one you like the most. There are too many to count, really.
    In the end you're going to have to use something like C because C is the UNIX language and you can't escape it, so getting used to the C syntax will benefit you in the end. Try reading about pointers (head to wikipedia for that one for sure but NOT wikibooks, the wikibooks article is really bad even though I tried to help it a bit) and if you can get your head around those, try skipping all the other languages out there and going straight to C.
    Regardless of whether you use C at first, just know this: C is very low-level and is highly expressionistic. You have to input a lot of code to get what you want done with C, but not so much with other languages. C is, however, the second-fastest language out there, following assembly language. So, when you need speed, use C. However, for quick one-time executions or various system tools or utilities, you can usually get by with the shell or something like that.
    In my opinion, here are a list of languages sorted in order of simplicity:
    Shell scripting - built into your shell. Very simple to use but follows a rather interesting and highly loose structure.
    PHP - many people will call you a wuss for using this, but I used it for months and it was great. Its support for graphical programs is very poor, so it's best kept to web- and shell-oriented scripting.
    Ruby - this follows an almost English grammar, so is very readable and learnable. On the other hand, it's known to be amazingly, amazingly slow.
    Perl - from how I've seen this used, I'd say that people would agree with me calling this UNIX's scripted, interpreted alternative to C. Perl is also written in Perl itself, which is quite a nice feature. You can write almost absolutely anything in this, but don't expect it to be too fast - Perl is quite a bit faster than Ruby, but not nearly as fast as C.
    Python - Google use this for their help center thingy, and so do a lot of other projects. It requires you use indentation for formatting, however, so you can't make one-liners with this. It's HIGHLY structured, and from my perspective best for apps that need to be extended over time.
    C++ - not much I can say for this one, except that it's like C, but OOP.
    C - this is THE definitive, de facto UNIX language. If you ever write something remotely successful on a large scale that's small, fast and stable, it will almost likely be in C, and will most likely have taken a huge number of hours off of your hands before it was completed.
    Assembly - this is more complex than C. I won't discourage you from having a look at the Wikipedia article on this, but don't worry if it takes you a long time to "get" it
    Just my two cents.
    -dav7
    Last edited by dav7 (2008-10-16 19:15:28)

  • What programming language should a beginner use for developing apps for mac and I phone etc

    Hi all
    I have just made the transition from pc to mac, years a go I dabbled in visual basic and was going to give it another go but having made the move to mac, now owning an iMac/ iPhone and iPad I am now thinking I would be better off learning a programming language that would enable me to create program's /apps for apple products. Can someone please point me in the right direction.

    If you want to develop apps natively, you'll have to go with Objective-C (language), Xcode (IDE), and the Cocoa Touch libraries. Objective-C is a super-set of C. So, if you've no background in C, start there. In fact, here are three books I recommend:
    Dave Mark, Learn C on the Mac:
    http://www.amazon.com/Learn-C-Mac-Dave-Mark/dp/1430218096
    Aaron Hillegass, Objective-C Programming: The Big Nerd Ranch Guide:
    http://www.bignerdranch.com/book/objective-c_programming_the_big_nerd_ranch_guid e
    Joe Conway & Aaron Hillegass, iOS Programming: The Big Nerd Ranch Guide (3rd Edition):
    http://www.bignerdranch.com/book/ios_programming_the_big_nerd_ranch_guide_rd_edi tion_
    Dave Mark's book covers C, and you probably don't need all of it. Once it gets to really elaborate storage issues (for which you'll end up using Core Data on iOS), you can skim. On the up side, you have some programming experience, which will make learning C easier. On the downside, it's in VB, which isn't as similar to C as most other languages are. But, it's a start.
    Hillegass covers some basic C in his book on Objective C as well. So you might can start with that. The final book only touches on Objective-C lightly and is really about using the iOS frameworks to do real work. It's entirely project based and will get to you building things and testing them and really creating iOS apps.

  • What programming language to learn after ABAP?

    Hi All,
         Well I am kind of getting bored with ABAP / Workflow ! I was wondering what programming language should I learn to keep myself busy. What I am looking for is something new (it can be a an extn for ABAP/ SAP too) but something really new age. May be something like Mobile Apps for SAP. May be a new language all together. But again since SAP is bread and butter it would be nice if it can be used in someway or another in SAP too
    Any ideas?
    P.S.: I have 8 years of SAP experience so I am not noob !
    Moderator Message - I am un-marking this post as a question.
    Message was edited by: Suhas Saha

    Well yes I agree that moving to new module is a good career move. But I am not looking to make a career move ! Its something just on the side..
    I know webdynpro.. BI I need access to a system ! HANA same thing.. I am not independent in learning..I need some one to set up the system/login/access etc.. and thats not going to happen unless I sign up for a class !
    While I write this my previous comment is still under moderation ! So I am gonna copy paste it here :
    Thanks Guys !
    I am looking for something which I can learn independently ! without having to go after basis guys to download some SDK for me and installing notes for me.. Thats one of the reason learning anything new in SAP is a hassle. I guess BOBJ us out of question for this reason.
    While HTML-5 sounds interesting wont I be better off learning Python? I know I can look it up but if you know offhand whats the benefit of HTML-5 and what kind of independent work I can take up for it ? I dont care about money but as long as its interesting I am ok with that !
    I do have basic knowledge of C so C++/ Objective C may be a good move .. JAVA I am not sure off as its use has been declining off late (its still number 1 but its market share is  going down).

  • What language should I learn?

    What single programming language should I learn that is most flexible? It's needs are to form the basis for MacOSX Cocoa applications, Linux command-line programs (and preferably least X11). This I ask here, for scientists likely lurk here, but don't always program in Objective C. (Though I've heard nothing but good things about it!)
    Currently, I use a variant of APL to assist as I work. When simplifying my life, around 1980, I changed to one editor: the platform-independent emacs. Now I should like to do the same with a 'general' programming language.
    Science is free, and scientists (I might suppose) support Richard Stallman's philosophy. Scientific source code needs be freely offered, written in an ISO standard language, and capable of being made platform-independent. It must easily be modified to use scientific libraries (lapack & netlib's others) and write linux, command-line programs, distributed by way of Sourceforge.
    I've been separated from other scientists for a long time. Is there a language satisfying the above scientific requirements that can also write 'modular' object-oriented applications for MacOSX, using the Aqua interface? If there are no caveats to using 'Java' for this purpose, I'll invest time in that. Have scientists or others faced this question?
    Thanks,
    Bruce
    PS. This question arose while searching for a simple little program to change images into icons:
    http://discussions.apple.com/message.jspa?messageID=7511505#7511505
    Here's the continuation of that post, that illustrates the problem, likely faced my many:
    Indeed, ... I could always use GraphicConverter.
    This topic begs the question of why we use GraphicConverter or PhotoShop to change a single color in an image. That's wasn't always supposed to be the case.
    Unix's credo: do only one thing, but do it well, and the popularity of Lotus 1-2-3, decades ago caused a great idea to emerge and gradually grow, until it became alive in developers' minds. Then it suffered a quick death, from unknown causes.
    Modular Software
    One day, a housewife becoming tired of spending a year learning and 'tuning' huge word processors to write a quick note saying she had gone to the corner market and would be back soon. The concept of modular software emerged: one would buy essentially, a text editor, then buy only those extra little modules you needed for your particular use: editing frills (as in emacs), formatting, adding images, importing & exporting formats, &c: 'personal' software. This needed a modular language; and, as it happened, C++ emerged soon. What ever happened to this idea (or the idea of using sounds for messages in addition to alarms, as in Growl), I never understood.
    Simple Software
    Many 'Google Images' have a white borders. It would be a clever idea to make background colors 'pure' (not in need of dithering when converted to a raster image). In the latter case, every GIF image could be dropped on an icon that could convert the lower-righthand pixel (the background) to a 'transparent' color. An old GIF image taken from the web could lose its background, and be ready to paste to the tiny icon in and 'Info Window'.
    Simple Modules
    Ah, but what about a Shft-Cmd-4 copy from my desktop? Mine are in JPEG format. I need to convert it to GIF. I could add a conversion module to the original little program (which could even convert to PNG). Ah, but the color of my Desktop varies or is, at least, not an 8-bit color (thank God). Then I could add a module that 'de-dithers' the color.
    Relation to Unix
    In old Unix these would be filters, something like this:
    cat image | ddthr | rfmt -png > icon
    Now I find myself using PhotoShop or GraphicConverter for finding & changing one color in an image. I'm still looking, and now becoming inclined to start programming again (which was always a mistake in the past).
    Problems with Programming
    Programming, I've avoided for two reasons: (1) two decades ago, I realized I had learned nearly a dozen text editors until I decided to use solely the platform-independent 'emacs'; and (2) I discovered it took me well over 6 months to master any programming language (more for a word processor), yet less than 6 weeks to forget it completely. (In the distant past, it was wise to choose one's language to match the project.)
    Macs
    However, I switched from Unix to Mac so I wouldn't have to think about computing any longer. Macs had always been built for such people as I, they are beautiful, and they can maintain themselves (or, a networked one can be set-up to do so).
    APL
    My preferred language is the APL variant 'J', which I use daily to test hypotheses, as I think about my research. Such a language, by the way, is great for pre-school children who can't read words yet. (Whether they'll ever be able to punctuate English correctly is another matter.)
    http://www.jsoftware.com
    Need for another Language
    However, I need eventually to convert my scientific algorithms to run in a Linux shell, using Linux's operators (such as 'filter' or 'tee') to combine the little modules.
    I'm now considering (re-)learning the platform-independent 'Java' language, and developing applications on Sourceforge. This way, scientific (ie. free) calculations could be integrated into online scientific papers and placed on other websites as well.

    Kappy,
    Sorry, I thought the question would be a common one confronting casual programmers. With such a variety of popular languages, there is likely no simple answer. I rescind the question with an apology and shall investigate my own problem myself. Sorry.
    The question was, being tired of using the wrong but kindly written MacOSX applications, is there a programming language I can learn now that will also serve me in the future?
    1. Now I need to write, for example, the program described to process photographic images, whose structures are arrays of arrays. Is there a language with such structures less bloated than C++?
    2. Old APL an object-orented language designed for quickly writing algorithms for exactly these structures (the common structures in engineering, science, and mathematics).
    3. Is there an object-oriented language for such structures, also used to write MacOSX applications, that one can learn to correctly build applications in 6 months (rather than 6 years)? This means strong typing, static type checking, automatic memory management, &c. An 'interpreter' as well would be nice!
    4. For science, it must be a high-level, very portable but standard language that can be compiled into (say) byte code for a standard virtual machine that is on all computers. For image processing on my own little Mac, it needs to be compiled all the way to Altvec-optimized machine code.
    5. Is there now such a beast? One that can be hooked at a low level with libraries (written in C or C++), and hooked at a high level to an OOUI (Aqua, in particular)?
    Sorry, I expected an engineer to say:-
    'Sure, MacOSX's compiler is based on the GCC, which contains a compiler for Java. It hooks at many levels. We use it to send code to afilliates around the Globe; and even Windows users haven't complained.
    'Several lexical analyzers have even been written (in C) for Java: so you can parse your spam as well!'
    But I don't know the above to be true.
    I was looking for reasons why Java might not be the better of the GCC languages for 'amateur programming'. I'm sorry I 'passed the buck', when I shouldn't have. This footwork I'll do myself after I can again install /Developer.
    Things I expect to be common problems never are.
    Thanks anyway.
    Bruce

  • Which one should I learn first?

    I am becoming an common Oracle DBA and I want to learn RedHat Linux. But I do not know the difference between Redhat Linux 9 and Redhat Enterprise Linux 5. What are they for? Which one should I learn first?
    Message was edited by:
    frank.qian

    But I do not know the difference between Redhat Linux 9 and Redhat Enterprise Linux 5.RedHat Linux 9 is very oldest brother of RHEL5. While RH9 is public (free of charge) distribution, RHEL5 is commercial no free (of charge) distribution. Redhat 9 was last public (free) release from Redhat corporation, since next release it was called Fedora. Name "Redhat" is used only for Commercial enterpise distribution.
    There is not difference between using/mantaining of them. But the main difference is that Redhat 9 has pretty old version of kernel, and other packages and is not supported by Oracle.
    What are they for?If we are speaking about Linux then we are speaking about Unix like operating system. So your question is just like "What is Windows for?".
    Which one should I learn first?As I said before, there is not difference between using/mantaining of them. But as Redhat 9 is pretty old distribution then use RHEL5. There is also existing distribution Centos which is clone of RHEL. When you install Centos 5 in fact you are using RHEL but with changed logos and texts (brands). But unfortunatelly this clone is not officialy supported by Oracle so it can't be use for production Oracle installations. For more informations and download look here: http://www.centos.org
    There is also another RHEL clone shipped by Oracle (and is supported by Oracle of course). You can download it from http://edelivery.oracle.com/linux

  • What programming language is used to create applicaitons for the iPad

    I was curious what programming language is used to create applications for the iPad.

    http://developer.apple.com/ipad/sdk/

  • What programming language, scripting or technology do I need to learn?

    Thanks Matt, apparently you had a clear image of what I'm attempting to do.
    To be honest I have a shallow understanding of coding, thus I would like to ask, why not create a script on the android phone itself (rather that intermediary machine)? does it have to be a python? or is this the easiest solution we could consider? cuz recently I'm interested in learning python but confused with other scripting languages.

    Hello mates,I'm really interested in developing technologies and how to use it to facilitate our lives. And what specifically takes my attention is automation and machine control or in other terms M2M (Machine to machine). For example, My next project is a smartphone (basically android) that's pre-identified to a router, a PC is connected to the router using ethernet, once the the phone auto detects and connects to the wireless router (through SSID credentials), it will send a command to turn on the switched off PC (wake on lan). That was one example.The question is, what do I need to learn to create or develop such ideas? A scripting language? Python? bash? android? c language? or something bigger?Is it a matter of a few lines of scripting or I have to develop a whole new software/program?apparently it's an open source thing, and I...
    This topic first appeared in the Spiceworks Community

  • HTML5, CSS3, Java Script- which should one learn first?

    Super beginner here. Been awhile since worked in Dreamweaver so like starting over from the beginning. Which of the three is the base one needs to start with in learning- Java, HTML or CSS3. Know each is specialized in various areas but as a starting point which should be the first to learn? Thank you....

    What Murray said.
    Definitely HTML first.
    Everything else in a webpage (CSS, JS, PHP etc) relies on HTML for structure and 'hooks' so that the page works properly.
    You'll probably find yourself learning HTML and CSS in parallel since they're so closely intertwined on modern websites.

  • What should i learn first

    hi,
    i am trying to learn dw but am frustrated as i feel limited
    in creating layouts. where should i start learning. i am
    experienced in ai and psd but have never integrated into web. would
    fireworks be the place to start learning?

    Fireworks is a useful tool for working with Dreamweaver --
    especially for someone that has mastered AI and PSD. If your goal,
    however, is to learn how to use Dreamweaver, then you should do as
    Nancy Gill has suggested. I have found
    W3Schools to be very useful in
    this regard, as it allows you to play with the rules in order to
    figure out how they work.
    Start with the HTML and CSS tutorials. Then you can advance
    to JavaScript and DOM Objects. HTML is the language used to
    structure your document, and CSS is the language used to remold
    that structure into something nice to look at. JavaScript is the
    language that you will eventually require to add behaviors and make
    your document dynamic.
    Just click on the link that I have provided for
    W3Schools.
    CAUTION: Do not expect to learn everything all at once,
    because it does take a lot of time and practice. Set aside a couple
    of hours each day. When you have a question about what you have
    learned, someone here can likely help you as it relates to DW and
    webpage design.
    W3Schools' big disadvantage is
    the very sketchy explanations.
    Roddy

  • So what part of J2EE are popular or should be learn first?

    I am new to J2EE but not java core and I really want to start learning J2EE. Can someone suggest what part of J2EE i should learn? Anything "hotter" than others? Any good books for J2EE 1.5?
    Thanks!

    After you read a book on JSP, try to create a simple 2 page JSP web site deployed on tomcat server, with getting data from a free database such as Oracle Lite. When you get it to work, try refactoring it to get a clean separation of concerns between the presentation layer, control layer, business logic layer, persistence layer. The refactor it again to clean it up more. Learn how to implement log4j and how to handle exception handling correctly in your small project. Only then I believe you should try a framework such as Struts. The Spring framework is probably too advanced for you before you work in Struts.

  • What programming language do you prefer

    Hi there,
    I saw this come across my Google Reader, but it seems like NI is pollng users about which VS languages they use to program T&M applications.
    What language are you using: VB .NET,  C#, C++ .NET (or VB 6 / C++ 6, etc)?  Here's a link to the poll:  http://decibel.ni.com/content/poll.jspa?poll=1066
    -wendyk
    Wendyk

    Try reading this.

  • Choose a programming language

    I want a program that can
    analyse http://www.youtube.com/browse?s=mr&t=&l=&e=en_US&p=*  (*=1-5) every 10 minutes
    then pick out  the link that start with http://www.youtube.com/watch?v=
    export their related information and their links to a form that I want
    sort them as their youtube added time
    and it can run on my webpage
    so what programming language should I choose to write this program?

    Your program consists of two parts, to query the site in a given interval and to display the videos/information on your website. I think PHP would suite best for displaying the videos on your page, but then, if you have a python/ruby powered website then use the one you make your website with. For the query part I would use python and write a small script that gets triggered via a cron job in the interval you like. Instead of parsing the contents of the page itself I would use the RSS feed provided by the youtube page, there's a python module named "feedparser" with which you can easily access the feed contents and extract the related information (shouldn't be more than maybe 50 lines of code), write it to a database (sqlite), in the form that you like, and retrieve the contents via your PHP script on your webpage. Or completely skip the time interval query part and just check for new videos when someone visits your website .
    Last edited by chimeric (2008-01-19 11:12:56)

  • What should I learn next?

    So I already know Python. I decided to learn Python because I heard it was a good language to start out with. I've got a good grasp of the language and have been making various scripts for my personal needs. I've become interested in other languages and have wondered what I should learn next. So should I learn another language or continue exercising my hacker skills with Python? I want to learn a wide variety of types of programming.

    ArchArael wrote:Learning new programming languages is fun but I think it's better if you develop something.
    Much more better would be some bug fixing or helping some existing projects.
    You can always learn new languages when you need to and save your time for something more useful (girl friend, friends, books, games, music etc).
    Learning programming languages just to learn keeps you from doing practice in programming.
    Mastering something takes time and practice,  as someone told you before.
    I don't think so. Programming takes time and practice, sure, but it also takes reading code and reading about programming. You can't give a pen and paper to a kid and say "here, write me a book" and spect this kid will write a masterpiece if she hadn't read a lot before.
    Learning a new language gives you insights of how programming works, even on different languages. Both you and I aren't native speakers of English, but learning it changed the way I see somethings in Portuguese and vice versa; I have a different understanding of English and Portuguese that I would have if I've learnt only one of them, I belive this applies to you, too. This also works with programming languages: the way I program in C was different before I grasped some Lisp, and it would probably be different if I hadn't learnt Python, and so on.
    Back on-topic, I'd recommend learning C, so you can grasp some of the basics: pointers, memory allocation, structs and unions, etc. Later, I'd suggest you to learn a language that makes you think about programming in a different way: Lisp or Haskell. Shell script is also nice, but I'd only use it to "glue" things together, and I don't see a problem with learning it concurrently with another language.
    Edit:
    Edit: Forgot to add this,
    http://www.e-booksdirectory.com/programming.php
    now say goodbye to all your free time and go learn 6 or 7 languages.
    Indeed, very good site. I like the Mathematics "folder", too.
    Last edited by andre.ramaciotti (2009-07-29 14:28:59)

  • Which group of programming languages to master?

    Which group of programming languages should I master to tackle a diverse set of problems? I would like for this list to be small as to not learn too many languages while not having a good grasp on them. The purpose of this is so I can approach any problem and pick the right tool for the job.
    Right now I'm thinking about C and Fortran for computational problems requiring speed (fortran because I'm a science student), Python for quick scripting and when development time is the most crucial factor, and Haskell for a functional middle ground. I appreciate any feedback.
    Last edited by Daedalus1 (2011-11-17 08:35:08)

    Calmatory wrote:Languages are merely tools to get things done. It is much more important to be able to think in an abstract manner to solve problems without creating more of them. Programming is the easy part, program design is the hard part.
    Yes, I know that. I guess the question I should have asked is which categories of languages are appropriate to which problems? Then I could pick one of each category and learn them.
    Basu wrote:
    I mostly second with whatever austin.rbn says but with some additions:
    1. You should learn C because it will make you learn how the machine actually works. Do not conflate C with C++, they are pretty different languages.
    2. You should learn a UNIX-y scripting language -- one of Perl/Python/Ruby for quick prototyping, string mangling, web dev, etc.
    3. You should learn an enterprise-y object oriented programming language such as C++, C# or Java
    4. You should learn a strongly typed functional programming language to better understand the mathematical basis of computer science like ML, OCaml or Haskell
    5. You should learn a Lisp dialect such as Scheme or Common Lisp (I would recommend the Racket implementation of Scheme).
    Let me know if you have any questions.
    Although pling may disagree with some of the reasons, these seem like sensible categories. What are some of the advantages of learning a Lisp language, and what domain would it be advantageous over other languages?
    bsilbaugh wrote:
    You may also want to ask yourself if you will ever need to run your codes in a distributed computing environment; e.g. a Linux cluster. If yes, then there is a high probability that you'll need to learn MPI. I know that most MPI implementations provide Fortran, C, and C++ API's, and there are also some Python wrappers out there as well (e.g. mpi4py).
    I should also point out that most Fortran, C, and C++ compilers support OpenMP out of the box. This means that a code that was initially written in Fortran, C, or C++ can be modified (usually rather easily) to take advantage of multi-core processors.
    As you might be aware, GPGPU computing is becoming more popular within the scientific community. Most of the GPGPU languages are minor extensions of the C language (and in some cases just additional C libraries). So, I suppose if you start out developing in C, then learning one of the GPGPU languages would seem like a natural extension of what you already know.
    (As others have alluded, you may want to view all of this as a never ending evolutionary process. That is, don't worry about finding some panacea to all your future programming needs today. Focus on learning the principles, keep and open mind, and be ready to adapt to an ever changing environment. Whatever the answers you get today, 10 years from now the answers will likely be very different.)
    Yes, I will eventually need to work with distributed computer systems and maybe GPU programming such as CUDA. For this purpose, where speed is critical, I would need to have C mastered. However I'm very used to the OOP methodology of Java and C++ and haven't been able to wrap my head around doing things otherwise. So as pling mentioned, I need to be able to first do procedural algorithms well and I think I need to learn C from the ground up. What I know of C, I've learned through C++. What is an introductory book that you would recommend to do this?
    pling wrote:Do what a pro and would do and code in the highly productive scripting language until you a performance hit, then write C code for that limited area. Rather than learning lots of languages badly, learn the fundamentals of procedural programming well - get books like Code Complete, Pragmatic Programming, Programming Perls, etc and work through them.
    Are C and python sufficient for general purpose programming? Are there any cases where it is difficult in getting the resultant amalgamated program to run smoothly? (just a wild guess)
    Last edited by Daedalus1 (2011-11-23 07:35:01)

Maybe you are looking for

  • Creating interactive buttons using images

    Background: I am trying to teach myself Java at home, since I lack the funds to take even a "community college" course. I understand a lot of the basics and can write various methods which work nicely, but I am stumbling a bit on understanding how to

  • User exit or badi for me52n transaction.

    Hi all,        i have a requirement to write a user exit or badi for me52n transaction. the requirement is in header section, only one plant should be accepted. that is in the first row one plant will be inserted. in the second row if we are insertin

  • Problem with SQL Exception SQL0913

    Hello, I am facing problem in my XI2JDBC scenario like, SQLException during query 'Select * SRSYS from NSARECP    where srrecn = (select min (srrecn) from nsarecp where pdate =          '0001-01-01')': java.sql.SQLException: [SQL0913] Row or object N

  • Doubt on Materialized view

    Hi all, I want to create materialized view, which will refresh the materialized view whenever, there is COMMIT on base table. The following statement is correct for this requirement. CREATE MATERIALIZED VIEW my_MV BUILD IMMEDIATE REFRESH COMPLETE ON

  • Ghost Documents/ CS3 Help please

    I have OSX 10.4.11. I found that when using a flash drive, my computer makes a copy of everything i put on it. I can't see the other copy so even when I delete everything on the flash drive, it only is half empty. The only way I can get rid of these