Java for Introduction to Programming

I know this is a Java forum, but I would like your opinions on this. Does Java make a good language for an Introduction to Programming course at a university? I know some do so. Is it good to try to teach programming concepts using an object-oriented language like Java, or is it better done with a structured language first, like Turbo Pascal or a language that can be both object-oriented or structured like Python? Is it good to teach programming for a virtual machine as the first platform, or would that confuse first-year students?

I would have to place my opinion against Java (or any OO language) as an introduction to programming. There are many reasons, but I still feel that people grounded in good CS/programming experience make better use of OO principles than those who are not previously grounded. Yes, it is hard to move a procedural background to an OO methodology, but who says one needs to start procedurally? I've seen professional Java code from individuals who have /only/ learned OO as their first language/platform and though they much better understand the OO concepts, their actual implemementation of such concepts still needs much refining.
At the end of the day and in my opinion a computer is just data-in and data-out, data-out being multiplied, aggregated, valued. In my opinion beginning programmers should be taught text/data processing tools and techniques. This is way-OT to the Java forum, but the best programmers I've ever personally seen came from years of Unix basics. I know it sounds absurd, but in those who understand the basic Unix tools, understand what a pipe is, who can take data and awk, sed, sort, and uniq it have foundations in workload management (pipe=queue), action/event concepts that touch procedures/methods (awk), pattern matching and transformation (sed), sorting/ordering/distincting (sort and uniq); utilizing operating systems semi-directly and being able to understand the concept of processes, IPC, bottom-up design, etc. Granted this is a potentially lowsy and incomplete example, but my point is still the same.
I think introducing Java, or C++, or lisp, or even C at such an early stage /in my opinion/ does not always yield the best knowledge-base for any student.

Similar Messages

  • I want to use Java for dynamic web programming...

    And don't know what to learn, JSP or servlets or both. I'm guessing it would be best to learn both, but I don't want to buy two books. Are there any books that teach both fairly well?

    I don't know how it covers them I am not learning them at the moment.
    Why don't you try searching for JSP and/or Servlets at Amazon.co.uk, Doesn't the JSP and Servlet section of the java.sun.com also have recommended books?, I have just done that search at amazon.co.uk and found these three instantly...the top two have reviews and ratings from other people. There are MANY book websites out there, try searching on this as well.
    JSP, Servlets and MYSQL; Paperback ~ David Harms
    Java Servlet Programming (The Java Series); Paperback ~ Jason Hunter
    Java Servlet and JSP Cookbook; Paperback ~ Bruce W. Perry

  • GUI in Java for a C program.

    Hi, I have a console program written in C.
    Can I make the GUI for this program in Java ?
    The user passes on arguments to the C program through the command line using switches. So instead, the java application will now have input boxes etc to take in user input. It will then call the C program passing all the user input to main().
    The C Program outputs lots of stuff on stdout. So instead, this output will now be displayed in the text area of the GUI.
    Does this make sense ? I need to use Java Swing right ?

    Also look at the JNI (Java Native Interface) for allowing interoperability between java and C. I don't know JNI very well (read: "at all"), but there is a forum here on the Sun site that is devoted to nothing but this. You can find it here:
    http://forum.java.sun.com/forum.jspa?forumID=52
    If you are just calling a c program and letting it run, then CeciNEstPasUnProgrammeur's idea is the way to go. If you are calling c or c++ functions from within a dll, then (I think) JNI is the way to go.
    Message was edited by:
    petes1234

  • I want to compile java for *.exe program?

    I want to compile java for *.exe program?
    Thanks

    I want to compile java for *.exe program?
    ThanksYou're welcome, but the correct answer was allready
    given in previous response.oops, late again, must edit.
    You're welcome, but the correct answer was allready given in the first response.

  • Any Program to connect JAVA for DB from SAP

    Any Program to connect JAVA for DB from SAP,
    Rather than JCO Is there any other option,
    Please tell that option ,
    and how to do that,
    thank you,
    Regards.
    Jagrut BharatKumar Shukla

    Hello Al Mamun,
    SM59 is for RFC (remote function call).
    If you are looking for ODBC-like connection, would you consider Tcode DBCO, then use native ABAP code to connect to the remote SQL server?
    Best regards,
    Victor

  • Is java suitable for hardware related programming?

    in general, is java suitable for hardware related programming?

    One small hurdle is that device driver writing often requires very specific machine instructions that are not directly available to any high level language. IN, OUT, LOCK (lock memory bus), VERR (Verify for Reading), RDMSR (Read Model-Specific Registers), move from/to memory without going through the MMU address mapping, ... (those are from x86, there are a few dozen of them.)
    In C, you'd write assembler glue. In Java, you'd write assembler glue and call it through JNI.
    So if you modify the question: "is Java + JNI suitable", the answer changes a bit. Still, threading and garbage collection are issues: often you can't have anything else happening in the computer when you are talking to a hardware device; it's often timing-dependent and any other parallel bus access migh throw the bus protocol off.
    Depends on the hardware, the operating system, and the Java (real-time Java may be required). Be prepared to write the lowest levels of communication in assembly; there is no other language for those bits.
    Would you consider controlling Lego Mindstorms hardware related? The low level bits are operating system services in C/C++/assembly, and the high level is Java.

  • Can't open cs6 programs they crash since I was instructed to download java for osx10.10.2

    My photoshop cs6 crashes.

    You shouldn't need java for photoshop cs6 to work on mac os x 10.10.2
    (some of the other cs6 creative suite applications like illustrator do though i believe)
    This is the java you would need
    https://support.apple.com/kb/DL1572?locale=en_US
    Can you post the crash report for photoshop cs6?

  • Introduction to Programming Logic Using C++

    I am taking an online introduction to programming class using C++ builder. I need to find a C++ compiler to download. This is a beginning course and I am definitely a beginner.

    rinda ran wrote:
    Downloaded Eclipse for C++
    I won't get into a debate about the relative merits of Xcode vs. Eclipse. I can definitely tell you that there are many people here on these forums who will be happy to help with programming on a Mac. Few, if any, of them use Eclipse. Eclipse is primarily for Java and very few people use it for C++ on any platform.
    I will be using this for an online class and need to save my finished assignments and e-mail them. Do I need to save my work in any different way so it can be read on a pc?
    Typically you will submit a zip file containing your source code and output results. Your professor may want to actually run your code to verify that it really works. You had better make sure it will run on the platform that the professor is testing it on. If you stick to standard C++, you should be fine.

  • Anyone recommends a good book for object oriented programming

    I am a college student in computer engineering (Software) and have been programming using Java for over a year. I have become really interested in the design of softwares and the "beauty" of object oriented programming, and thus would like to advance my knowledge about the topic (my university offers an advanced oop class but I would have to wait another 6 months to take it). So my question is, could you recommend me any book that covers the subject of object oriented programming extensively? (I have learned most of the oop I know from "An Introduction to Programming and Object Oriented Design Using Java" by Nino and Hosch.
    Thanks in advance

    Some years ago I remember cutting my teeth on OOP using an excellent book by Grady Booch. If it's still in print and has been updated, it may be worth a look. Again it was decent. Also consider picking up a book on design patterns. Good luck.
    Edit: I found it, it's called "Object-Oriented Analysis and Design with Applications", and it's in its third edition. You can find it here on Amazon.
    Edited by: Encephalopathic on Apr 22, 2008 2:48 PM

  • Anyone recommends a good book for object oriented programming (advanced)

    I am a college student in computer engineering (Software) and have been programming using Java for over a year. I have become really interested in the design of softwares and the "beauty" of object oriented programming, and thus would like to advance my knowledge about the topic (my university offers an advanced oop class but I would have to wait another 6 months to take it). So my question is, could you recommend me any book that covers the subject of object oriented programming extensively? (I have learned most of the oop I know from "An Introduction to Programming and Object Oriented Design Using Java" by Nino and Hosch.
    Thanks in advance

    jwenting wrote:
    I never tire of pushing ["Agile Software Development, Principles, Patterns, and Practices "|http://www.amazon.com/Software-Development-Principles-Patterns-Practices/dp/0135974445] by Robert Martin.
    You probably meant [Agile Software Development, Principles, Patterns, and Practices|http://www.amazon.com/Software-Development-Principles-Patterns-Practices/dp/0135974445] ;-)
    Remember, quotes in link names break the forum ...

  • Ideas For a Simple Program?

    I need some ideas for a simple program for a project in class. Can anyone help me?

    Import Classes
    import java.io.*;
    public class tictactoe
    Define Variables
    public static InputStreamReader ISR = new InputStreamReader(System.in);
    public static BufferedReader BFR = new BufferedReader(ISR);
    public static String BOX[][] = new String[3][3]; //Integer Arry for tictactoe box
    public static String PName; //Moving Player's Name
    public static String P1Name; //Player 1 Name
    public static String P2Name; //Player 2 Name
    public static String InputPLY; //X or O
    public static String InputStr; //Player's Input
    public static boolean BreakLoop; //Set this to true in PlayGame() to exit
    public static void main(String args[]) throws IOException
    InputPLY = "O";
    BreakLoop = false;
    ClearBOXCache();
    PrintCredits();
    System.out.println("");
    System.out.println("PLEASE ENTER PLAYER 1 NAME");
    P1Name = BFR.readLine();
    System.out.println("PLEASE ENTER PLAYER 2 NAME");
    P2Name = BFR.readLine();
    System.out.println("");
    System.out.print("\nWelcome ");
    System.out.print(P1Name);
    System.out.print(" and ");
    System.out.println(P2Name);
    System.out.println("");
    System.out.println(P1Name + " = X");
    System.out.println(P2Name + " = O");
    PlayGame();
    PrintCredits();
    BFR.readLine();
    System.exit(0);
    public static void DrawGrid()
    This function is to draw the tictactoe grid.
    System.out.println("");
    System.out.println("\t/-----------------------------\\");
    System.out.println("\t|-------- TIC TAC TOE --------|");
    System.out.println("\t|-----------------------------|");
    System.out.println("\t| | | |");
    System.out.println("\t| " + BOX[0][0] + " | " + BOX[0][1] + " | " + BOX[0][2] + " |");
    System.out.println("\t| | | |");
    System.out.println("\t|-----------------------------|");
    System.out.println("\t| | | |");
    System.out.println("\t| " + BOX[1][0] + " | " + BOX[1][1] + " | " + BOX[1][2] + " |");
    System.out.println("\t| | | |");
    System.out.println("\t|-----------------------------|");
    System.out.println("\t| | | |");
    System.out.println("\t| " + BOX[2][0] + " | " + BOX[2][1] + " | " + BOX[2][2] + " |");
    System.out.println("\t| | | |");
    System.out.println("\t\\-----------------------------/");
    public static void PrintCredits()
    This function is to print credits. Intended for startup and ending
    System.out.println("");
    System.out.println("");
    System.out.println("\t-------------------------------");
    System.out.println("\t--------- TIC TAC TOE ---------");
    System.out.println("\t-------------------------------");
    System.out.println("");
    System.out.println("\t-------------------------------");
    System.out.println("\t---- MADE BY WILLIAM CHAN! ----");
    System.out.println("\t-------------------------------");
    public static void ClearBOXCache()
    This function is to clear the BOX's cache.
    It is intended for restarting a game     
    BOX[0][0] = " ";
    BOX[0][1] = " ";
    BOX[0][2] = " ";
    BOX[1][0] = " ";
    BOX[1][1] = " ";
    BOX[1][2] = " ";
    BOX[2][0] = " ";
    BOX[2][1] = " ";
    BOX[2][2] = " ";
    public static void CheckWin(String PLYW) throws IOException
    This function is to check if a player wins
    for (int X = 0; X < 3; X++)
    if (BOX[X][0].equals(PLYW) && BOX[X][1].equals(PLYW) && BOX[X][2].equals(PLYW))
    PrintWin(PLYW);
    for (int Y = 0; Y < 3; Y++)
    if (BOX[0][Y].equals(PLYW) && BOX[1][Y].equals(PLYW) && BOX[2][Y].equals(PLYW))
    PrintWin(PLYW);
    if (BOX[0][0].equals(PLYW) && BOX[1][1].equals(PLYW) && BOX[2][2].equals(PLYW))
    PrintWin(PLYW);
    else if (BOX[0][2].equals(PLYW) && BOX[1][1].equals(PLYW) && BOX[2][0].equals(PLYW))
    PrintWin(PLYW);
    else if (!BOX[0][0].equals(" ") && !BOX[0][1].equals(" ") && !BOX[0][2].equals(" ") && !BOX[1][0].equals(" ") && !BOX[1][1].equals(" ") && !BOX[1][2].equals(" ") && !BOX[2][0].equals(" ") && !BOX[2][1].equals(" ") && !BOX[2][2].equals(" "))
    ClearBOXCache();
    System.out.println("Tie Game!");
    BFR.readLine();
    System.out.println("Game has restarted");
    public static void PrintWin(String PrintWinner) throws IOException
    This function is to print which player won
    if (PrintWinner.equals("X"))
    System.out.println(P1Name + " wins!");
    System.out.println(P2Name + " loses!");
    else if (PrintWinner.equals("O"))
    System.out.println(P2Name + " wins!");
    System.out.println(P1Name + " loses!");
    BFR.readLine();
    ClearBOXCache();
    System.out.println("Game has restarted!");
    public static void PrintInstruction(String PLYINSTR)
    This function is to give instruction to the player
    if (PLYINSTR.equals("X"))
    PName = (P1Name);
    else if (PLYINSTR.equals("O"))
    PName = (P2Name);
    System.out.println("");
    System.out.println(PName + ":");
    System.out.println("PLEASE MAKE YOUR MOVE");
    System.out.println("");
    System.out.println("TL = TOP LEFT BOX, TM = TOP MIDDLE BOX, TR = TOP RIGHT BOX");
    System.out.println("ML = MIDDLE LEFT BOX, MM = MIDDLE MIDDLE BOX, MR = MIDDLE RIGHT BOX");
    System.out.println("BL = BOTTOM LEFT BOX, BM = BOTTOM MIDDLE BOX, BR = BOTTOM RIGHT BOX");
    public static void PlayGame() throws IOException
    This function is the main game function.
    It calls other game functions.         
    Define Variables
    while(true)
    if (InputPLY.equals("O"))
    InputPLY = "X";
    else if (InputPLY.equals("X"))
    InputPLY = "O";
    while(true)
    PrintInstruction(InputPLY);
    InputStr = BFR.readLine(); //Player's move
    Check player's move
    if (InputStr.equals("TL"))
    if (BOX[0][0].equals(" "))
    BOX[0][0] = InputPLY;
    break;
    else if (InputStr.equals("TM"))
    if (BOX[0][1].equals(" "))
    BOX[0][1] = InputPLY;
    break;
    else if (InputStr.equals("TR"))
    if (BOX[0][2].equals(" "))
    BOX[0][2] = InputPLY;
    break;
    else if (InputStr.equals("ML"))
    if (BOX[1][0].equals(" "))
    BOX[1][0] = InputPLY;
    break;
    else if (InputStr.equals("MM"))
    if (BOX[1][1].equals(" "))
    BOX[1][1] = InputPLY;
    break;
    else if (InputStr.equals("MR"))
    if (BOX[1][2].equals(" "))
    BOX[1][2] = InputPLY;
    break;
    else if (InputStr.equals("BL"))
    if (BOX[2][0].equals(" "))
    BOX[2][0] = InputPLY;
    break;
    else if (InputStr.equals("BM"))
    if (BOX[2][1].equals(" "))
    BOX[2][1] = InputPLY;
    break;
    else if (InputStr.equals("BR"))
    if (BOX[2][2].equals(" "))
    BOX[2][2] = InputPLY;
    break;
    else if (InputStr.equals("RESTART"))
    ClearBOXCache();
    System.out.println("");
    System.out.println("GAME RESTARTED!");
    System.out.println("");
    break;
    else if (InputStr.equals("QUIT"))
    BreakLoop = true;
    break;
    if (BreakLoop == true)
    break;
    DrawGrid();
    CheckWin(InputPLY);
    }

  • Book & software advice for creating a program that would utilize USB.....

    Hey All,
    I've been a mac user for about two years now and have become more and more impressed by the stability offered by Unix.
    However, I still live in both worlds (XP and OSX) and my programming roots are windows based (sorry ).
    Here's the problem:
    I'm trying to determine which direction I should head for writing a program that gives me access to the USB ports on a Mac, and allows me to correlate it to a web atmosphere.
    My thoughts are: I'd have a device attached to a USB port (or multiple), and I'd use a system (OSX) USB driver to write to a database, in turn - use dreamweaver to build a WEB that interfaced with this database.
    I'm not sure what software I should use to write an app that can talk to my USB ports, as well as load them into a chosen database. I think once I have the data collected into a database, I can handle the WEB side of this, but I want to take this one step at a time.
    I installed Xcode and I was ready to take off when I said - "wait a minute, this isn't exactly visual studio." [even though it's somewhat similar]
    My programming background is in C++, VB and ASP (with VB script & Java Script) but I haven't written for about 3 years (hence the ASP and not ASP.net) - So feel free to steer me in the right direction or just give me a general verbal tirade and tell me I'm in over my head! LOL
    I've bounced all over these message boards, and see everything from opinions on Java, C, C++, even Python (which I never heard of until a post yesterday: http://discussions.apple.com/thread.jspa?threadID=133836&tstart=0)
    I'm asking for some advice on what books would be a good aid for me to purchase in order to help me achieve what I'm trying to do. I stopped in at my local Border's bookstore the other night, and there was quite an array to choose from.
    So here is what I almost picked up for a starter:
    http://www.amazon.com/gp/product/0764584111/103-2161547-3122203?v=glance&n=28315 5&n=507846&s=books&v=glance
    Any suggestions?
    Another major thought in my mind is the transition to little endian, which is what Intel uses (vs OSX big endian). Obviously, I don't want to get burned by this if I flip the wrong bit after the architecture changes....
    I realize I may have really 'broad brushed' this, but I really wanted to hear everyone's thoughts since there may be other 'projects' I attempt to tackle on OSX.
    Your suggestions on any books, sites, software, etc will be greatly appreciated......
    Thanks for reading,
    Steve
    Powerbook G4 1.5Ghz   Mac OS X (10.4.2)  
    Powerbook G4 1.5Ghz   Mac OS X (10.4.2)  

    To start learning about writing a USB device driver on OS X, check out:
    http://developer.apple.com/documentation/DeviceDrivers/Conceptual/IOKitFundament als/

  • Accessing the Par file or java methods in ABAP programming at ECC from EP

    Hi experts,
    Can we access par file or java methods  in ABAP programming  (ECC side)which are at Enterprise portal side .If it is possible please
    let me know the procedure.Thanks for your help.
    Thanks and Regards,
    Venkat

    Hi Das,
    The mentioned wiki is for uploading the par file ,but my question is diffrent.This file or java method  need to be used in ABAP side.
    Thanks and Regards,
    venkat

  • Data source for the concurrent program 'Send Separate Remittance Advices'

    Hi All,
    We have requirement to develop a custom report to send the remittance to the vendors.
    But we are unable to figure out on how to get the data source for the standard program 'Send Separate Remittance Advices'.
    The program is of the type Java concurrent program. Is there any way to get the XML tags for this program.
    Thanks,
    Manoj

    hi,
    pls see:
    R12 Send Separate Remittance Advice - Data Source (srini)
    and also:
    http://apps2fusion.com/apps/14-fwk/69-java-concurrent-programs
    http://oracle.anilpassi.com/xml-publisher-concurrent-program-xmlp.html

  • Need help for writing extract program

    hi
    i need help for writing extract program to retriew data from legacy system.
    i already developed bdc programs for me31k and me21.
    my requirement is to write extract program s for those t.codes.
    to retriew data from legacy system and stored in flat file.

    i need help with a java program. it is a program that allows the user to enter a student's GPA, number of extracurricular activities, and number of service activities. The user can not enter a gpa above 4.0 or below 0. The user can not enter a negative number for the number of both activities. If the student meets the following criteria: 1) GPA of 3.8 or above and at least one extracurricular activity and one service activity, 2) GPA below 3.8 but at least 3.4 and a total of at least three extracurricular and service activities, 3) GPA below 3.4 but at least 3.0 and at least two extracurricular activities and three service activities, the message "Scholarship candidate" should display. If the student does not meet the criteria above, then the message"not a candidate" should display. Can you help me, please?
    You haven't posted ANY 'java program' for us to help with.
    The forum is NOT a coding service. It is to help you with YOUR code.
    Post the code you have written and SHOW us (don't just tell us) how you compile it and execute it and the results you get. Then we can help you with any problems you are are having.
    If you need help understanding just what the program should be doing you need to ask your instructor to clarify the assignment.

Maybe you are looking for

  • Installing an existing copy of CS3 to new Intel iMac

    I want to install CS3 on my new Intel iMac (moving from my almost defunct PPC G5 tower) which will run Snow Leopard. I understand using the migrate feature may not be a good idea. Problem is, I have the CS3 upgrade disc. I do have my original CS full

  • Calling abap proxy synchronous ...

    Hi everyone. I have this scenario. abap proxy (request) - > XI (BPM) - > abap proxy (response). I'm able to send async the data using the proxy and i would like to send the response to other proxy. The best scenario for me would be if the proxy in sy

  • Select a part of a videofile

    hi i want to capture a specific,adjustable(from frame.. to frame...) part of an existing videofile. for example i have a file with a length of 2 minutes an i only need frame 400 - 600 to work with them. i want to set these borders by scrolling the fi

  • Lyrics not displaying on nano

    I am trying to see lyrics on my nano. Is it possible to see lyrics? From research I have done it seems like I should be able to see it if I have lyrics on Itunes and then playing song on nano then clicking center button and keep going and lyrics shou

  • ITunes podcast file not going to recycle bin after deleted?

    After I deleted podcast files from iTunes on my PC running windows XP, sometimes they didn't go to recycle bin but instead stayed in my podcast folder.