my dream - a simplified version of java - made from java

R

rfractal30

Hi

I jumped into a wide and deep ocean. That ocean is java!

Let me start by saying - I'm a hobbyist programmer.

Another thing - I've had no programming training. Everything I know
about programming is self-taught. Admittedly my knowledge is very
limited. So why do I program? The answer is because it is fun. I like
to create programs that do the things I want them to do. I love the
challenge. Oh, I nearly forgot to mention - my mathematical knowledge
is also very small ^^ (I know - it's not good).

And I love the concept of java. It is a beautiful language.

If I have learnt one thing about java it is this: IT IS A COMPLETE
NIGHTMARE TO LEARN!!!

And I think I have figured out why..

JAVA IS NOT A PROGRAMMING LANGUAGE - it is a tool for creating
programming languages. You use classes and interfaces (your own or
someone elses) to create your own custom made capabilities. So you can
then use the commands that are within these classes.

The problem for someone like me is that because I am a hobbyist
programmer, I do not have a set focus. I want to learn how to program
in java - to become familiar with it's syntax and capabilities. I also
want the satisfaction of creating applications.

But all the time I come up against the same problem: Java's sheer
vastness. Where do I start?

In other words: I need limitations in order to learn and gain
confidence. I need a programming language that has been created using
java, that cuts out all of the unwanted complexity. Maybe something
like visual basic.

Ok, you might tell me: 'go ahead and program in visual basic'. But I
don't want to. For one thing, it is very expensive - also I just prefer
java, it is multi-platform, and I find the concept of object oriented
programming fascinating.

So I need limitations. To begin with I achieved this by only creating
command-line programs. And this was fun for a while, and quite
fruitful. But after a while I just wanted to dip my feet into the
waters of graphical interfaces. To make the kind of applications that
are so easy with visual basic. This is when my headaches really
started.

If I am creating a visual interface - I just want to be able to put a
button onto a screen - and then write the code that goes with it when
it is clicked (or some other event applying to it). What is all this
crazy stuff about creating 'button listeners'? The button should
already have a listener. And if I create a message box, I should just
be able to enter in the values I need.(default values should be
provided for those less commonly used). I just thought of another
example. Why do I need to write some code so that the application will
stop running when I exit it?

What I'm really asking for is a programming language created using
java. That IS java - but without the unwanted complications. Something
that will allow hobbyist and casual programmers to create applications
without having to understand the finer and more complex features of the
language (but with those features still accessable if wanted).

In some ways this language might resemble visual basic. Especially in
terms of creating visual interfaces. Just a toolbox with some stuff
that you can drag and drop. Then resize and edit.

The key thing I am asking for is that all the most important features
of the language should be on top - ready and easy to use. All the more
complex/optional values should be given default values (and still
available if wanted). This new programming language would have very
clear and easy to understand documentation, as well as tutorials and
example programs.

Michael
 
A

Anthony Borla

rfractal30 said:

Michael,

<SNIP>

I agree, at least in spirit, with much of your post: Java is a rich and
powerful language, and is the sort of tool that takes much time,
determination, and focus to learn to effectively use, and later, master.

Since you are in a hurry to create more sophisticated - particularly
GUI-based - programs without spending too much time learning complex
fundamentals, you might consider the use of a scripting language to ease
your learning path. Once you've made strides with such a tool, you could
always reattempt the mastery of Java [something, I believe, is worth
pursuing, and an undertaking you will definitely not regret].

Whilst both Perl and Python are very popular [not to mention quite powerful]
scripting language choices, they are both, in my opinion, complex
languages - at least on par with Java - so little will be gained [in terms
of speeding up / simplifying the learning task] by choosing one of these. Of
course, this is merely my opinion; my intention is not to criticise any of
these tools but to outline, what I think, is a speedier, possibly more
effective, learning path for you to follow. Hopefully I won't be flamed for
positing this view.

I'd like to, however, alert you to the existence of a, in my opinion, very
easy-to-learn scripting language called REXX. There is a novice-friendly,
GUI-oriented implementation called Reginald which may be obtained at:

http://www.borg.com/~jglatt/rexx/rexxuser.htm

I highly recommend that you complete the tutorial as it quickly gets you up
to speed on the language [*very* easy to use], and install some of the
GUI-based tools. I'm sure after working with these tools for a few hours
you'll know whether this is an approach suited to your purposes.

As an aside, it is also possible to add third-party GUI libraries such as
the Tk-based routines which are used with most of the popular scripting
languages. This approach is, also, reasonably easy to learn and use, and may
yet be another option for you.

Finally, one other reason that I recommend the learning of REXX is that
there is an implementation called NetREXX, one that extends the REXX
language, and maps it to the Java API. In other words, you can code in a
variant of REXX, and see Java code [.class files] generated which you can
then execute with the JVM [java.exe]. If you are interested in, later on,
mastering Java, then this approach [REXX -> NetREXX -> Java] could help
bridge the learning gap ?

Food for thought, anyway.

Cheers,

Anthony Borla
 
R

Ryan Stewart

rfractal30 said:
Hi

I jumped into a wide and deep ocean. That ocean is java!
[...]
I must admit I didn't read all of your post, but I did skim it. Programming is
not simple. Simple programming is simple, not to mention limited in usefulness.
If you think that Java is complex, go try C++ for a few weeks/months. When you
get back, you'll have a different perspective. Everything about Java is very
plainly laid out. There is one specification that all implementations are
required to adhere to and have been since Java was created, quite unlike C++.
Java comes with a vast array of libraries ready to do just about anything you
need, and each one has great documentation (typically). It sounds like part of
what you're wanting is a good IDE. Google the comp.lang.java.* groups for "best
IDE" or something along those lines to see the multitude of posts on the topic
and the answers, which are the same every time.
 
A

Alex Molochnikov

Years back we were confronted with the following task: to create a set of
tools that would allow non-programmers to build database-centric
applications, with data input windows, containing text fields, pop-up and
pull-down lists, checkboxes, buttons etc. The actions of the window
controls, and event handling (e.g. once I enter something in the text field,
I want the field content to be validated against a database table) were to
be implemented graphically, rather than scriptically, and take the form of
executable flowcharts. The flowcharts would be made of basic executable
components, such as a decision-making object, or a database retrieval box
etc.

So we developed STEP FORWARD, where the users could program visually, and
add their own Java code into it, expanding its functionality.

Then, following the same philosophy, we developed SCRIBE - a report
generator that uses the same graphical programming concepts, but has a
richer set of functionality for building database reports.

Have a look at either (or both) of them, and see if they come close to your
dream, without turning it into a nightmare.

STEP FORWARD: www.gestalt.com
SCRIBE: www.reportgenerator.org

Alex Molochnikov
Gestalt Corporation
 
M

Malte

rfractal30 said:
The key thing I am asking for is that all the most important features
of the language should be on top - ready and easy to use. All the more
complex/optional values should be given default values (and still
available if wanted). This new programming language would have very
clear and easy to understand documentation, as well as tutorials and
example programs.

Michael

I do not think you will get what you wish. I am myself apalled by what
Java has become, but I realize that this is a do or die thing for Java.
The area of computing has become very fragmented, everything has to be
n-tier and support multible architectures and multiple purposes.

There is just no way that Java can stay simple in this environment.

Core Java is pretty simple but the minute you want to do something
useful with it you have to dig into myriads of tutorials and become
familiar with thousands of small problems.

This is unavoidable, I think. Java wants to (needs to, I say) be
everything to everybody.

So you don't do EJB? Lucky for you. There's a bunch of problems you
don't need to bother with.

Don't do Applets? Fine, see if you like the intricate challenges of J2EE
better ;-)

Or change lifestyle and do imbedded. Lot less multiple architectures to
come to grips with.
 
R

rfractal30

I just want to thank everyone who replied - some of the suggestions
certainly have given me food for thought. The language REXX in
particularly look interesting - would of been a nice one for me to
learn when I was starting out - but I feel would be a backwards step
for me now.

I've sort of come to grips with the fact that Java is a highly complex
language - but I still feel that there are some aspects of the language
that put up unnecessary barrier to the beginner programmer. One that
stands out especially is the lack of input and output functions for the
console - this can be frustrating for the beginner programmer (I had to
hack together my own input and output classes - admittedly it was quite
an enlightening process..) As well as the lack of console classes - it
is also _way_ to complicated to create GUI's. All this stuff of frames
and JFrames, Panels, Listeners, MouseListeners, threads - you get what
I'm saying! It just makes me feel frustrated and stupid.

One thing I neglected to mention in my post is that I am limited in my
computing power. I only have 98 mb of RAM and 200 mhz process - also
I'm on dial-up. I also only have an old version of Borland's JBuilder2
(this doesn't even cover the Graphics2D). So perhaps I should not be
too hard on myself. I'm definitely not going to give up - even if it
takes me 30 years, eventually I will get to grips with Java!

Another thing - I got this book called 'Java 2 - Weekend Crash Course'
by Julio Sanchez and Maria P. Canton. I fairly recommend this book as
it is not just a book on Java - but also a book on learning how to
program for the beginner. It covers some of the fundamentals of
programming (admittedly in not too much detail). The first half of the
book does not even cover the 'object' side of Java. When it does get to
the Object Oriented approach it is quite good. It also has some nice
stuff on I/O operations and classes. Another book I can recommend
(although I have barely skimmed it) is 'Thinking in Java' by Bruce
Eckel. This seems to be very clearly written and informative. It
probably teaches more than anyone in their right mind needs to know
about class structure, interfaces and such stuff. I've got a feeling
that this book is going to be very important for my knowledge of Object
Oriented programming. Ok I'll stop now before I start to sound like a
sales rep ;-)

Thanks again - Michael
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,011
Latest member
AjaUqq1950

Latest Threads

Top