Is there a Zen to Java programming?

As a programmer/ tech writer, I�m sort of envious of luxuries available to theoretical physicists who may contemplate such mysterious and exciting things as Heiseinberg Uncertainty Principle or wave-corpuscular dualism of elementary particles. However, are physicists the only hi-tech community that is permitted to enjoy surfing the Zen paradoxes abound in the world around? Are we computer people deprived of the like delights just because computing is so deeply rooted in Aristotelian and Boolean logic? I hardly think so. Zen (one may add Tao) logic is universal, and although we so strongly tend to employ patterns of our dreary �either-or� thinking while programming artificial things, these things, quite interestingly, happen to be not exempt from the Chaotic Beauty of the Natural World. In a word, Complexity (can one question complexity of modern computing?) ever meets Chaos. And an encounter with Chaos, paradoxically, expands our understanding of Order; or rather force us into accepting a sort of Another Order that underlies seemingly chaotic processes we observe. Further, I argue my thesis.
Recently, I�ve pondered on tricks of object-oriented programming (OOP). Much was said about �more human-oriented� approaches available with OOP, which allow the programmer to enjoy a higher level of abstraction in comparison with traditional procedural methods that chain the poor developer down to a controlled flow of bits deep inside the machinery. Yes, as for me, systems design and programming in C++, Smalltalk and Java delivers more sense of �soaring above� than it does in COBOL. In other words, programming in Java appears to be a �more human� way of thinking. However, what do we understand saying �more human�? Here we need to be slightly technical. In essence of OOP lies the concept of object, which may be understood as an entity modeling a real world situation. One may announce that a Java programmer thinks in terms of real world proceedings, delivering his or her understanding of the processes by means of the quite abstracted technical language (code). As far, it sounds quite human, and it is so. And here again we can find, not surprisingly, the deep-rooted patterns of rational �either-or� logic. Object is thought of as static entity, and of course it is static in a technical sense. It possesses such qualities as state and behavior, changeable only within predefined limits. Also, object may be thought of as static because it represents a fixed (constant) set of variables (attributes) and subroutines (methods). Of course, objects provide only a degree of abstraction as to what we understand as a real world situation. However, at the same time they most definitely cannot be perceived as static entities because of dynamic nature of the computing process. In essence, computing is all about data processing, or performance of logical operations on variables stored in memory (the process was mathematically modeled well before the advent of computer as the famous Church-Turing Machine). More simply, there can be nothing static in computing at all, because computation is always a process. So, musing on the nature of objects in OOD&P, we encounter a highly sophisticated logical system presenting the following set of choices: (1) object is either static or dynamic, (2) object is both static and dynamic, (3) object is neither static nor dynamic. As we see, the two latter options sound absolutely Zen-like while the former characterizes the good old Western Aristotelian logic. This is the point where Complexity (of computing) meets Chaos, as it is thought of by Western mind-view, i. e. absence of logical consistency and determinism. It�s obvious that in OOP we cannot perceive object in other way than embracing an advanced sort of logic, so characteristic to Eastern thought. If we understand object as a real world entity, we are entitled to see it as a Zen entity either, which can be described only in the conformable logic system.
[I�ve patented it as Bojenov Uncertainty Principle in OOP.  Of course, I�d be curious to hear from fellow Zen programmers and find out their opinions on the matter, via e-mail preferably.]

You should spend some time around actual Physicists. You'd realize that a very small portion of Physics involves irrational, or imaginative thought. That instead a small portion of it is the imagination, and a larger portion is the execution to test the theorys produced my imagination. And this execution is MUCH less imaginative then anything. Alot of Physicists spend a great deal of their time programing at computer terminals making mathematical models of their data, most of them using far less conceptual models that are afforded to us computer programers these days.
Alot of the Physics department is bent on still using Fortran. They're having a hard time getting them to convert to using C rather then Fortran, yet alone Java or C++. And I'm certain you can agree that these languages allow alot less room for imagination then does Java. You should probably work on introducing these traits you think so highly of the Physics community as having, to the physics community. And once they've fully learned to appreciate them, then maybe you can work on expanding them to the Computer Science community as well. You should realize as well that most Physicists, are also Computer Scientists.
-Jason Thomas.

Similar Messages

  • Java program not working using newer version of scheduler (AutoSys)

    A little background: I'm in the middle of trying to upgrade our AutoSys server (scheduler) to the latest version (version R4 to R11) and have to do regression testing to ensure our jobs will work in the new version. There's a small java program that is not working supposedly due to the following error:
    Exception in thread "Main Thread" java.lang.NoClassDefFoundError: com/f1j/swing/common/JDKAdapter
    at com.f1j.swing.common.Adapter.<clinit>(Adapter.java:86)
    at com.f1j.swing.engine.ss.JBook.<init>(JBook.java:3032)
    at com.f1j.swing.engine.ss.JBook.<init>(JBook.java:3096)
    at com.test.Foo.performScan(Foo.java:122)
    So in the old version (R4), it runs fine. In R11, I get the exception above. The CLASSPATH matches and I've verified that by echoing it in the shell script that calls the java program. Here's how it's called in the shell script.
    echo $CLASSPATH
    ${JAVA_HOME}/bin/java com.test.Foo
    So the Foo class was written by me, which makes use of this external library called f1j11swing.jar (for spreadsheet creation).
    The source of the error is from this line in Foo (line 122):
              book = new com.f1j.swing.engine.ss.JBook();
    The funny part is JDKAdapter (the missing class) is in the same jar file as JBook, so it definitely finds the library in the classpath. But for some reason, this new AutoSys version is spitting out this error. I've exhausted many approaches to resolving this, but I'm still stuck.
    Here's the layout of how things are called (should be same for R4 and R11):
    1. AutoSys server logs into client machine XYZ as user arnold
    2. arnold (AutoSys client) on XYZ executes shell script to call java program
    The only significant difference I see is that the AutoSys server in R4 is HP while the R11 server is Sun. However, it shouldn't matter because the client server they're logging into to execute the script is the same linux server.
    Does anyone have any ideas? I've already started dialogue with the vendor and it seems kind of in limbo at the moment. Please let me know if you need more info. Thanks.

    Hi DrClap,
    I just checked jre/lib/ext of my $JAVA_HOME and verified that there doesn't exist any library with a class named "Adapter." We don't put anything in this directory other than what came with the original installation. I've tried isolating the jars before as well, by doing something like (to no avail):
    java -cp /users/test/lib/f1j11swing.jar:/users/test/lib/Foo.jar com.test.Foo
    If I remove the f1jswing11.jar path in the above command, it will complain about other things. Also, for fun, I tried dropping f1j11swing.jar into the ext folder and removing it from the CLASSPATH and it yielded the original error. Running it directly from the shell and old version of autosys works fine.
    I hope I understood your suggestion correctly and please let me know if you have any other ideas. I'm surprised why java would act differently with a different version of an AutoSys client logging into the same machine and environment. Thanks.
    xiarce - I haven't heard anything regarding this, but I'll bring it up. Thanks.
    Edited by: user4170063 on Apr 13, 2011 2:25 PM

  • Specify a exe running from certain directory from java program

    Hi there,
    I had a java program, which will spawn some child process to run vb COM;
    what I wanted to do: have a child process start the COM from a specific diretory?
    IS there any way to do it from Java, like shell programming?
    Thanks

    I do all my portable shell stuff now in ant.. http://jakarta.apache.org/ant/
    it is an XML driven java script for doing builds.. but it can be used for shell scripting.
    They are also some java scripting languages like jPython but i am not very familiar with them.
    u can also get Cygwin and write unix shell scripts. www.cygwin.com
    hope this helps

  • Is there a method I can use to test the space cost of a Java program?

    I am trying to test the space cost of a Java program (or a few lines of executed codes), however...
    Firstly I tried to use the method freeMemory() in runtime class at start and end of a number of lines tested on, and then find the differences between them. But because I don't know when JVM releases memories, this idea seems not working.
    I also tries to use the -verbose:gc to print the GC actions, which is also hard to be automatically collected (Computing the results one by one by hand is too burdensome).
    Is there a method in some classes can be used for doing this? Could anyone help me on this, please?

    Up _+ ...                                                                                                                                                                                                                                                       

  • Is there any way to close an IE browser on XP through a Java Program

    Hi All,
    I am working on an application which has a web form with various feilds in it, on selecting the fields and clicking submit, the form will launch a WinRunner application in a remote machine and runs a test. For this I am using Tomcat webserver (V4.0.1). Now the problem I have is, when I submit the form, and WinRunner Launches on the remote machine (which has Operating System XP), should not already have any Browser windows open on it. So, to ensure that no browser windows are open, Initially in my Java Program I want to write a code which cleans up all the OPEN Browser windows on that machine.
    Can any one help me out in finding a way of closing the IE browser windows on a XP machine through a Java program. (There is a servlet in the Tomcat webserver which launches the application based on the browser request). Tomcat is installed on the machine where WinRunner will be launched, So my browser request goes to that machine directly.
    Thank you very much,
    Ramesh Babu M.V.

    You can call some program (via Runtime.exec) that kills all IEXPLORE.EXE processes (ugly but could work for you). For instance, there is a program called kill.exe that you can try getting somewhere. My version of KILL.EXE is really old and somewhat buggy (killed all IEXPLORE.EXE processes but one in my Windows 2003 machine), so try checking if there's some newer version anywhere.
    C:\>kill -?
    Microsoft (R) Windows NT (TM) Version 3.5 KILL
    Copyright (C) 1994-1998 Microsoft Corp. All rights reserved
    usage: KILL [options] <<pid> | <pattern>>*
               [options]:
                   -f     Force process kill
               <pid>
                  This is the process id for the task
                   to be killed.  Use TLIST to get a
                   valid pid
               <pattern>
                  The pattern can be a complete task
                  name or a regular expression pattern
                  to use as a match.  Kill matches the
                  supplied pattern against the task names
                  and the window titles.

  • How many softwares are there to create a setup file for java programs

    Hi, i am new to java
    I want to know how many softwares are there to create a setup file for java programs.
    I know one software i.e java launcher to create a setup file.
    I want to know about any other softwares are available to create a setup file for java programs.
    I created a setup file for swings program in JCreator.
    And don't think that i am wastiing ur time with this question .
    Help me regarding this topic.
    Thanks in Advance

    superstar wrote:
    I want to know how many softwares are there to create a setup file for java programs.13, no wait, 42.
    I know one software i.e java launcher to create a setup file.You should clearly identify what you think you already know.
    I want to know about any other softwares are available to create a setup file for java programs.
    I created a setup file for swings program in JCreator.Is this the one you talked before, or is this different?
    And don't think that i am wasting ur time with this question .Why should I not think that?

  • Is there any way to check another Java program running status?

    HI. I want to write a Java program on hand-set but my program seems needs lots of resources and if there is another Java program running on the same hand-set simultaneously, my program will slow down. So, I want to check if there is another Java program is running on the hand-set, my program will show a message to user reminding user to close another program first.
    Is there any way to do so?

    On most recent devices, the application is not terminated but paused by using phone functions, and can be reactivated from the aplication management software. The javax.microedition.midlet package documentation is quite specific, if a tad obscure, about the MIDlet lifecycle and the role of the MIDelt methods vis-a-vis the AMS.
    {color:#0000ff}http://java.sun.com/javame/reference/apis/jsr037/javax/microedition/midlet/package-summary.html{color}
    Parenthetically, I've never been able to figure out how resumeApp should be used, nor have I seen this method invoked in any of the samples that come with the WTK, but I haven't gone through all of them.
    I believe the still-in-progress MIDP3 will make it possible to have MIDlets that share the screen with native apps and which can be minimized and restored.
    db

  • Is there any way to call java program whenever i login to R3 System.?

    Hi Experts
    Is there any way to call java program whenever i login to R3 System.
    Means Whenever the user login to R3 system i should trigger one java program.. Is there any way
    Please help me
    Thanks & Regards
    Ravi Shankar B

    If you want to access to the Windows Taskbar, you should call some Win32 APIs and JNI. Refer to Win32 references.

  • How to flag shell script if there is a exception in java program

    Hi all,
    can someone let me know if it possible to flag the calling shell script that there is a exception in java program ???
    Thanks
    Chat

    have a question
    In the shell script if I read for ret_stat=$? , will it give the value of 33 if exception occurs ?

  • Running a java program at "Start Up"

    Besides running an html file with an applet in it. Are there any simple ways to launch a java program every time the computer is turned on.
    I am not asking for specific directions, but rather just an idea, and i will go find my own guide.

    Well two ideas (if ur on windows) u could try are -
    one, if you had a class file you could simply create a
    batch file on windows that says java <class> and then
    put that batch file in your startup so that the class
    is run at startup or else you could think of modifying
    the registry keys on windows to run this class at
    startup - whichever works for you.Or you could just jar the program up, adding a Main-Class indicator in the manifest, and then add a shortcut to the jar to the startup folder, as someone else stated. Theres little need to go messing around with DOS batch in modern windows.

  • Running a java program from an icon

    I want to run my program from an icon on my desktop. I have a .bat file that I've built a shortcut to and it works.MY GUI program does display and run when I click on the icon. The problem is that the DOS window also shows up behind my GUI.
    Is there anyway to prevent the DOS window from showing? Or is there another way to run a Java program without resorting to a DOS command line or running it through FORTE or another IDD?

    Chris's solution worked well, with one small problem. Once my GUI starts, it takes up the whole screen. Normally when I run it, it appears as a small window.
    not a big problem, I can reduce it easily after it starts. But does anyone know a way to make it come up in the reduced size it norally comes up in when I run it from my IDE?

  • Running a java program in a directory other than the current directory

    How do I run a java program that's located in a directory other than the current directory?
    There is a file Test.java in /dir1/subdir1. If my current directory is anywhere other than that directory, say /dir2/subdir2, I can compile Test.java by using:
    javac -classpath /dir1/subdir1 /dir1/subdir1/Test.java
    But when I try to run it with:
    java -classpath /dir1/subdir1 /dir1/subdir1/Test
    I get a java.lang.NoClassDefFoundError: \dir1\subdir1\Test
    Any thoughts?

    You need to specify just the name of the class you want to run. So java -classpath /dir1/subdir1 Test

  • Running a java program over network

    Hi,
    How a java program on a machine can be run without having JRE on the same machine, rather interpreting bytecode over network having JRE on another machine?

    Rahul.Kumar wrote:
    well, so my java program is running on x. Initialy X had JRE and on invoking java program from command prompt, it had looked for JRE at path, set in environmental settings. Now I moved JRE to another machine Y and connected these two machines (X and Y). You have two machines X and Y.
    "Connected" or not has nothing to do with this discussion.
    In X path is set to the JRE on Y. The path on X has absolutely nothing to do with anything on Y.
    Now execute java program on X, theoretically it should work or what is wrong with this?This makes no sense. Presuming you meant Y in the above then the following must be true.
    1. You must have a JRE on Y.
    2. You must have a java application on Y (or one accessible via the file system on Y.)
    3. You must be on Y and start the JRE passing the java application that is on Y to it.
    Notice in the above there is no mention of X. There can be no mention of X.

  • High CPU usage while running a java program

    Hi All,
    Need some input regarding one issue I am facing.
    I have written a simple JAVA program that lists down all the files and directories under one root directory and then copies/replicates them to another location. I am using java.nio package for copying the files. When I am running the program, everything is working fine. But the process is eating up all the memories and the CPU usage is reaching upto 95-100%. So the whole system is getting slowed down.
    Is there any way I can control the CPU usage? I want this program to run silently without affecting the system or its performance.

    Hi,
    Below is the code snippets I am using,
    For listing down files/directories:
            static void Process(File aFile, File aFile2) {
              spc_count++;
              String spcs = "";
              for (int i = 0; i < spc_count; i++)
              spcs += "-";
              if(aFile.isFile()) {
                   System.out.println(spcs + "[FILE] " + aFile2.toURI().relativize(aFile.toURI()).getPath());
                   String newFile = dest + aFile2.toURI().relativize(aFile.toURI()).getPath();
                   File nf = new File(newFile);
                   try {
                        FileCopy.copyFile(aFile ,nf);
                   } catch (IOException ex) {
                        Logger.getLogger(ContentList.class.getName()).log(Level.SEVERE, null, ex);
              } else if (aFile.isDirectory()) {
                   //System.out.println(spcs + "[DIR] " + aFile2.toURI().relativize(aFile.toURI()).getPath());
                   String newDir = dest + aFile2.toURI().relativize(aFile.toURI()).getPath();
                   File nd = new File(newDir);
                   nd.mkdir();
                   File[] listOfFiles = aFile.listFiles();
                   if(listOfFiles!=null) {
                        for (int i = 0; i < listOfFiles.length; i++)
                             Process(listOfFiles, aFile2);
                   } else {
                        System.out.println(spcs + " [ACCESS DENIED]");
              spc_count--;
    for copying files/directories:public static void copyFile(File in, File out)
    throws IOException {
    FileChannel inChannel = new
    FileInputStream(in).getChannel();
    FileChannel outChannel = new
    FileOutputStream(out).getChannel();
    try {
    inChannel.transferTo(0, inChannel.size(),
    outChannel);
    catch (IOException e) {
    throw e;
    finally {
    if (inChannel != null) inChannel.close();
    if (outChannel != null) outChannel.close();
    Please let me know if any better approach is there. But as I already said, currently it's eating up the whole memory.
    Thanks in advance.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Java Program Using Threads

    Hi there, im really new and have just started programming in Java, i have to create a java program which implement threads. Thread.Wait, thread.start them etc.
    Here is the problem, any guidance would be great cheers guys
    The manager of a company employs 3 secretaries who are of varying ability, but who all work extremely fast. Secretary A is the most experienced secretary and is capable of typing up a letter once every second. Secretary B is less experienced and is capable of typing up a letter once every 2 seconds. Secretary C is the junior secretary and is capable of typing up a letter once every 4 seconds. When a secretary has typed up a letter he leaves it in the manager?s tray for him to remove and sign. The manager removes and signs a letter from the tray once every 2 seconds. The tray can hold a maximum of 5 letters at a time. The tray?s limited capacity sometimes causes the various workers to be delayed. For example, if the tray is full after a letter has been typed, the secretaries must wait until the manager makes a space available before they can add another letter to the tray. Similarly, the manager must wait for at least one letter to appear in the tray before he can take it out and sign it.
    In your program, make use of threads to represent each of the workers (the 3 secretaries and the manager), so that they can work in parallel. You will also need to declare a tray object, and ensure that all communication is properly synchronised to avoid indeterminacy and deadlock. While an office worker is busy typing a letter or signing it, you should send that thread to sleep for the appropriate time period. This can be achieved with a call to:
    Thread.sleep(m);
    where m is the number of milliseconds for which the thread should suspend.
    The output from your program should take the form of a running commentary on the activity taking place in the office. An extract from it might look something like this (though it is up to you how you word this):
    Secretary A is ready to type a letter
    Secretary A has typed a letter, number now typed = 6
    Tray full. Secretary must wait until a letter has been removed before adding another
    Secretary C has typed a letter, number now typed = 2
    Tray full. Secretary must wait until a letter has been removed before adding another
    A letter has been removed from the tray. Tray = 4
    The Manager has taken a letter from the tray to sign, number signed = 4
    The Manager is ready to sign a letter
         etc
    Run your simulation until the secretaries have typed and filed 7 letters each, and the manager has removed and signed all 21 letters.
    Thanks again

    Then you're probably better off enlisting one-on-one, in-person help from your instructor, a classmate, or a private tutor, or joining a study group. Forums like this are not well-suited to tutoring you from the ground up.
    If you're doing multithreaded homework and you don't even know where to start, it sounds like ether the instructor is horrible or you're in over your head, or you just haven't been keeping up with the class.
    Good luck.

Maybe you are looking for

  • Active Directory LDAP integration; can not see the XMLP_ groups/roles

    We have configured XMLP 10.1.3.3 to use "LDAP" as the Security model. The LDAP server is Active Directory running under Windows Server 2003. It is working to a certain extent: Users can log on to the XML Publisher using login/password as defined in A

  • Sxpg_command_execute exit code

    Hi, I used function SXPG_COMMAND_EXECUTE in an abap program. During runtime, the function is returning an exit code of 1, although sy-subrc = 0. exec_protocol is showing the error "> Function: BtcXpgPanicCan't exec external program (No such file or d

  • Multiple query in print layout

    I have a problem. I wanna select with apex both two region that i have in my page to compose a document that is made by this two report. The problem is that when i define my report queries in Shared components it is possible to define only one query

  • Transfer uploaded assets

    Hi, We have uploaded assets in wrong asset class(through AS91) how we can transfer these assets in correct asset class. ABUMN is for aquizised assets Regards

  • Error #1009 in /computeSelectionIndexInContainer()

    TypeError: Error #1009: Cannot access a property or method of a null object reference. at flashx.textLayout.edit::SelectionManager$/computeSelectionIndexInContainer() at flashx.textLayout.edit::SelectionManager$/ http://ns.adobe.com/textLayout/intern