Question:

How Is Java language turned into low level languages?

by  |  earlier

0 LIKES UnLike

How Is Java language turned into low level languages?

 Tags:

   Report

2 ANSWERS


  1. Memory allocations and deallocations, threads, locking, execution control (such as loops, function calls, conditionals), etc... these are are machine specific features. Why do we not have a high level language that goes beyond these things? ALL current languages are low level even if the programming community tries to say otherwise. Handling hardware is low level.

    Why do languages even touch execution which is a technique used to get around current hardware limitations? What will happen when processors can execute seemingly infinite instructions at the exact same time? Execution control will no longer exist. More to the point, mixing execution control and data manipulation all in the same statement is a hard coded custom solution. You cannot reuse components that have been welded together in this fashion. Why do languages still use this archaic form of programming that can never lead to reuse?

    There is a solution, but I'm just curious why the lack of will to move forward. Haven't you ever thought it strange that you can only have unidirectional control statements within functions? Why the skew? Have you not ever noticed that sending messages between computers doesn't work well in an RPC fashion because the other machine is not required to respond? So don't you think that perhaps there might be something wrong with the entire concept of functions and procedures in programming languages? Is not the difficulty of having multiple returns values a sign that something is seriously wrong?

    So my main question is: Why are ALL programming languages so low level and more generally obsolete for general purpose use when all the signs are impossible to avoid? Why the refusal from language designers to move forward? Can they really not see the solution?

    By Vorlath at 2006-06-07 22:37 | LtU Forum | previous forum topic | next forum topic | other blogs | 9271 reads

    Comment viewing options

    Flat list - collapsed Flat list - expanded Threaded list - collapsed Threaded list - expanded  Date - newest first Date - oldest first  10 comments per page 30 comments per page 50 comments per page 70 comments per page 90 comments per page 150 comments per page 200 comments per page  

    Select your preferred way to display the comments and click "Save settings" to activate your changes.





    Why are ALL such criticisms so ill-founded?

    Please show me one part of Haskell outside the IO monad that has a thing to do with how the hardware works... likewise for logic languages.

    Function calls aren't machine-specific, btw. They'd been in mathematical use for a long, long time before anyone built any hardware.

    By Philippa Cowderoy at Wed, 2006-06-07 22:46 | login or register to post comments

    Haskell

    I was just thinking about Haskell. There's no manual memory (de)allocation, concurrency's expressed through composable memory transactions, there are no loops beyond what you build out of recursive functions, the compiler handles evaluation order, types are expressed as sum-of-product rather than bunches of bits, and you can't update arbitrary memory locations. Seems like that answers most of the OP's criticisms.

    By Jonathan Tang at Thu, 2006-06-08 02:32 | login or register to post comments

    All?

    I don't think you can make such sweeping generalizations. Many languages don't have to deal with memory allocations or locks. Many languages can have functions with multiple return values just fine. Are you just talking about the mainstream languages like C++ and C#?

    By Steven Woodhouse at Wed, 2006-06-07 22:50 | login or register to post comments

    Yes, 100%

    Can you really all not see it? I thought it was obvious, but that no one wanted to talk about for some unknown reason. In this topic, I'm asking what that reason is. To bring this reason why we're not moving forward into the limelight. But is this a concensus? Does everyone really not see what I'm talking about? If that's the case, then the situation is far, far worse than I thought. This would be a truly horrific state of affairs if true.

    By Vorlath at Wed, 2006-06-07 23:07 | login or register to post comments

    Well, can you explain

    Well, can you explain exactly what you mean? To me it seems functional, constraint or logic programming languages will solve your problems.

    What languages do you know?

    By Steven Woodhouse at Wed, 2006-06-07 23:13 | login or register to post comments

    control freaks

    I find many programmers to be control freaks.

    Definition. A control freak is a programmer who freaks out if he/she does not know the control flow of a program.

    Example. Some programmers comment on lazy languages (or even OOP languages) with "what is the control flow? this is so confusing". I am sure everyone here has encountered a fair number of these.

    Popular programming languages will stay low-level as long as a large body of programmers remain as control freaks.


  2. Java use both a compiler and an interpreter. First the java source code is compiled into the Java byte code. This is a low level machine language that JVM (java virtual machine) understands. But, the computer does not understand this type of code, it only reads binary. Therefore, when executing a Java program the JVM interpreter automatically translate the program Java byte code into binary that the computer understands (This is done while program is running).

    That is why Java is platform independent, it does not convert its source code directly into binary that only a certain Operating System(OS) will understand. Lets take C++ for example, its compiler compiles the source code directly to binary that is only compatible with Windows OS.

    Every OS nowadays has a JVM for their specific type of OS. This is not possible in the old days because of the computer limitations. Interpreting a code while it is running will slow the program down. Computer today have great processing speed that while the JVM interpret the byte code into binary when the program is running you will  not even notice that is slower than a normal program that uses only a compiler.

Question Stats

Latest activity: earlier.
This question has 2 answers.

BECOME A GUIDE

Share your knowledge and help people by answering questions.