473,657 Members | 2,474 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Dive Into Java?

DiveIntoPython. org was the first book I read on python, and I really
got a lot out of it. I need to start learning Java (to maintain a
project I've inherited), and was wondering if anyone knew of any
similar books for Java?

Maybe once I know my way around the language, I can sneak Jython in...
:-)

Thanks!
Erik

Oct 8 '06 #1
51 3673

erikcw wrote:
DiveIntoPython. org was the first book I read on python, and I really
got a lot out of it. I need to start learning Java (to maintain a
project I've inherited), and was wondering if anyone knew of any
similar books for Java?

Maybe once I know my way around the language, I can sneak Jython in...
:-)

Thanks!
Erik
Not exactly Dive into Java, but one amongst very great book on
programming (and the one that pointed me to Python :-)) , really! )
- *Just Java* by Peter van der Linden, really great book! and fun to
read, and bright, and this (apocryphical) citation (i don't have the
book under hand just now, being on vacation ;-)): *...to the question
'Should I learn Java, C++, Perl?' (the answer is) 'Yes!' ...*
and Python was included among several other OpenSource stuff on the CD.

Jean-Marc

Oct 9 '06 #2
Sun's Java tutorial, and went your confortable with it.

Thinking in Java Bruce Eckel

On 8 Oct 2006 15:30:15 -0700, erikcw <er***********@ gmail.comwrote:
DiveIntoPython. org was the first book I read on python, and I really
got a lot out of it. I need to start learning Java (to maintain a
project I've inherited), and was wondering if anyone knew of any
similar books for Java?

Maybe once I know my way around the language, I can sneak Jython in...
:-)

Thanks!
Erik

--
http://mail.python.org/mailman/listinfo/python-list
Oct 9 '06 #3
erikcw wrote:
DiveIntoPython. org was the first book I read on python, and I
really
got a lot out of it. I need to start learning Java (to maintain a
project I've inherited), and was wondering if anyone knew of any
similar books for Java?
Perhaps a bit of a rant, but learn Python and C++, take the worst of
both, make it a language and you have Java ... ;)

Regards,
Björn

--
BOFH excuse #271:

The kernel license has expired

Oct 9 '06 #4
Bjoern Schliessmann wrote:
erikcw wrote:
>DiveIntoPython .org was the first book I read on python, and I
really
got a lot out of it. I need to start learning Java (to maintain a
project I've inherited), and was wondering if anyone knew of any
similar books for Java?

Perhaps a bit of a rant, but learn Python and C++, take the worst of
both, make it a language and you have Java ... ;)
While I do not love java, this is one of the dumbest statements for a while
in this NG - even though it is not meant to be too serious.

C++ has a lot of wicked, complicated features like overloadable assignment
statements and so on, misses GC, and is in general semantically very
overloaded. All that make programming it a real PITA, as you permanently
are at risk loosing your feet through self-inflicted gun-shot-wounds.

While Java is a language that makes it difficult to produce nice or
beautiful code, it certainly is a language that hinders you to shoot in
your own foot really badly.

Diez
Oct 9 '06 #5
Diez B. Roggisch wrote:
While I do not love java, this is one of the dumbest statements
for a while in this NG - even though it is not meant to be too
serious.
Thanks for your concern. I didn't really state this from dumbness
though.

BTW, definitely consider looking up "irony" and "emoticon" in an
encyclopedia of your choice.
C++ has a lot of wicked, complicated features like overloadable
assignment statements and so on, misses GC, and is in general
semantically very overloaded.
Maybe. Though I think there /are/ languages with more complicated
features, with an imperfomant GC that can't be controlled, or more
semantically overloaded.

BTW, what exactly do you mean by "semantical ly overloaded" in the
case of C++? E. g. the :: and . operators where one could do both?
All that make programming it a real PITA, as you permanently are
at risk loosing your feet through self-inflicted gun-shot-wounds.
It can be quite convenient. Not as convenient as Python, but it's
not impossible at all to write working code without hundreds of
bugs. But that's what it reads like in your posting.
While Java is a language that makes it difficult to produce nice
or beautiful code,
because it wanted to be new and good but took over much of C++'s
syntax and made it even weirder,
it certainly is a language that hinders you to shoot in your own
foot really badly.
No, it is a language that forbids almost everything from C++ which
could be dangerous, and at the same time reimplements some of those
features "under the hood": E. g. no operator overloading, but "+"
concatenation of strings. What if you'd like to implement your own
string-derived class? Ah, never mind. Operator overloading is
bad(tm) ;) <= Irony, definitely

Regards,
Björn

--
BOFH excuse #188:

...disk or the processor is on fire.

Oct 9 '06 #6
erikcw wrote:
DiveIntoPython. org was the first book I read on python, and I really
got a lot out of it. I need to start learning Java (to maintain a
project I've inherited), and was wondering if anyone knew of any
similar books for Java?

Maybe once I know my way around the language, I can sneak Jython in...
:-)

Thanks!
Erik

I also liked Bruce Eckel's Thinking in Java. I new Java already before,
but this book was so fun to read that I read it anyway :-)
Oct 9 '06 #7
Bjoern Schliessmann wrote:
Diez B. Roggisch wrote:
>While I do not love java, this is one of the dumbest statements
for a while in this NG - even though it is not meant to be too
serious.

Thanks for your concern. I didn't really state this from dumbness
though.
What do you mean by "from dumbness"? I didn't accuse you of being dumb, if
that is what you are concerned of. But the statement was.
BTW, definitely consider looking up "irony" and "emoticon" in an
encyclopedia of your choice.
Putting a single emoticon on the end of an unreflected and wrong statement
doesn't make that statement a beacon of irony and wit. And in context of
somebody seeking enlightment regarding java, it's especially unhelpful and
confusing I think. Which was the reason for my post.
C++ has a lot of wicked, complicated features like overloadable
>assignment statements and so on, misses GC, and is in general
semantically very overloaded.

Maybe. Though I think there /are/ languages with more complicated
features, with an imperfomant GC that can't be controlled, or more
semantically overloaded.
So what? Either you talk about Java here, then name it and prove these
points, or not, then where is the relevance of that statement to this
discussion?

IF you talk about java and GC: yes, can be painful sometimes, in high-load
scenarios. And you can tweak it, btw.

But I can count the cases I ran into GC-troubles on one hand, where the
number of segfaults due lack of GCing in C++ are endless. And certainly not
only for me....
BTW, what exactly do you mean by "semantical ly overloaded" in the
case of C++? E. g. the :: and . operators where one could do both?
For example: the overloading of assignment operators, casting operators,
copy constructors and the like that, and the fact that one of them is
possibly chosen in absence of the other.

The subtle differences between pointers and references.

Ahh, not to forget the joys of slicing through non-virtual
copy-constructors. And while we are talking about it: virtual - a keyword
with a great deal of meanings....

Missing definition of static initializer order, at least for some binary
formats.

I could continue for some while...
>All that make programming it a real PITA, as you permanently are
at risk loosing your feet through self-inflicted gun-shot-wounds.

It can be quite convenient. Not as convenient as Python, but it's
not impossible at all to write working code without hundreds of
bugs. But that's what it reads like in your posting.
I didn't state that you can't produce working code with C++, I said that it
is remarkably more difficult than with java (and python anyway). Because of
aforementioned complications in the language design of C++.
>While Java is a language that makes it difficult to produce nice
or beautiful code,

because it wanted to be new and good but took over much of C++'s
syntax and made it even weirder,
Even weirder? Care to explain? While they _did_ choose some unneccessary
syntactic crud to stay in, even though it isn't needed (e.g. the
superfluous new-keyword), I don't see a lot of things like ::, ->, virtual,
=0 and so on. Not to mention struct and friend of course.

Yes, they tried to make it appealing to the eye of a C++-programmer. But
that pretty much is it.
>it certainly is a language that hinders you to shoot in your own
foot really badly.

No, it is a language that forbids almost everything from C++ which
could be dangerous, and at the same time reimplements some of those
features "under the hood": E. g. no operator overloading, but "+"
concatenation of strings. What if you'd like to implement your own
string-derived class? Ah, never mind. Operator overloading is
bad(tm) ;) <= Irony, definitely
You are confusing things here. That you can't implement your own string
derived class has to do with java.lang.Strin g being final - something I
grief about, too. But nothing with operator overloading of + for _all_
objects that support toString()....

Yes, Java lacks operator overloading, and that is a pity sometimes. But
getting productive with it is certainly in between python and C++, and not
below.

Diez
Oct 9 '06 #8
Diez B. Roggisch wrote:
What do you mean by "from dumbness"?
It didn't originate from the "dumbness" area of my brain (== it
wasn't my honest opinion). It was meant satirical.
And in context of somebody seeking enlightment regarding java,
it's especially unhelpful and confusing I think. Which was the
reason for my post.
I understand.
So what? Either you talk about Java here, then name it and prove
these points, or not, then where is the relevance of that
statement to this discussion?
Again, it wasn't meant as honest and true argument. I'd better try
not to try be funny.
For example: the overloading of assignment operators, casting
operators, copy constructors and the like that, and the fact that
one of them is possibly chosen in absence of the other.
Isn't the overloading concept an effect of type strength? In Java,
you'd have to overload them too. Or am I missing something?
The subtle differences between pointers and references.
That's an issue, though you don't have to use them both. Kind
of "historical ly grown".
Ahh, not to forget the joys of slicing through non-virtual
copy-constructors. And while we are talking about it: virtual - a
keyword with a great deal of meanings....
ACK.
Missing definition of static initializer order, at least for some
binary formats.
Didn't come across this one though.
I could continue for some while...
Okay, I got it :)
>because it wanted to be new and good but took over much of C++'s
syntax and made it even weirder,
Even weirder? Care to explain?
Example:

int spam = 5;

but

String eggs = new String();

The latter seems totally unnecessary to me, as well as being too
verbose -- why couldn't they go the simple way as in Python and
just state

String eggs;

-- is it because in C++ it'd mean something different?
While they _did_ choose some
unneccessary syntactic crud to stay in, even though it isn't
needed (e.g. the superfluous new-keyword), I don't see a lot of
things like ::, ->, virtual, =0 and so on.
ACK.
Not to mention struct and friend of course.
Mh, struct seems to be an ancestor from C and being kept for
compatibility reasons (like many other stuff in C++
though). "friend"? Mh, nice to have, I once needed it. But anyway,
I like the Python way (don't forbid anything) better.
Yes, they tried to make it appealing to the eye of a
C++-programmer. But that pretty much is it.
That's a wrong decision, IMHO. A new and practical language (what
Java wanted to be) shouldn't provide 3/4-compatible syntax, but be
clear, concise and customizable, and shouldn't say "That's bad, you
mustn't do that."
You are confusing things here. That you can't implement your own
string derived class has to do with java.lang.Strin g being final -
something I grief about, too.
That's not exactly my point. What if I just wanted to build my own
interface compatible class ... impossible.

For a start, it just doesn't look pretty ...

String ham;

ham = "1" + "2";

.... is translated to ...

ham = new StringBuffer(). append("1").app end("2").toStri ng()
But nothing with operator overloading of + for _all_ objects that
support toString()....

Yes, Java lacks operator overloading, and that is a pity
sometimes.
And that was a clear design decision that is defended as "groovy"
until today.

Another funny thing are those awkward wrapper classes, but that's
been "patched" in an awkward way with 1.5 IIRC.
But getting productive with it is certainly in between python and
C++, and not below.
May in parts depend on the scenario, but ACK.

Regards,
Björn

--
BOFH excuse #442:

Trojan horse ran out of hay

Oct 9 '06 #9
Bjoern Schliessmann <us************ **************@ spamgourmet.com writes:
E. g. [in Java there is] no operator overloading, but "+"
concatenation of strings. What if you'd like to implement your own
string-derived class? Ah, never mind. Operator overloading is
bad(tm) ;) <= Irony, definitely
Definitely? That one strikes me more as sarcasm.

It would have been "irony" if, in attempting to combat operator
overloading, you instead demonstrated by your very efforts that it was
essential and beneficial.

(Yes, everything Alanis Morrissette complains of in her song "(Isn't
It) Ironic" is not at all ironic, but is merely unfortunate. There's a
possibility she was aware of this:
<URL:http://en.wikipedia.or g/wiki/Ironic_(song)#L yrics_controver sy>)

(good sigmonster, have a cookie)

--
\ "I'm beginning to think that life is just one long Yoko Ono |
`\ album; no rhyme or reason, just a lot of incoherent shrieks and |
_o__) then it's over." -- Ian Wolff |
Ben Finney

Oct 9 '06 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
986
by: Luis P. Mendes | last post by:
Hi, do you know if is there any 'Dive into Python' equivalent for the java language? DiP is the best I've seen and I would need to learn some basics of Java and also ways to interact between the two languages. (I'm already aware of Jpype and Jython) Luis
6
1954
by: Franz Mueller | last post by:
Hi, which of the following books would you recommend: "Dive into Python" or "Beginning Python: From Novice to Professional"? I'm an experienced C++-programmer who wants to take a look at Python. Thanks, Franz
2
2775
by: Franz Mueller | last post by:
Hi there, is there a nicer looking version of the "Dive into Python" PDF? The one from diveintopython.org looks horrible, much worse than the web-version; also the images aren't where they should be. Has anybody tried to create a nice looking version? Maybe using dblatex or something similar? (I only know of the existence of docbook, never used it though)
5
1554
by: Casey Hawthorne | last post by:
Since there was talk of if-then-else not being allowed in lambda expressions, the following is from "Dive into Python" The and-or conditional expression trick from page 41 of "Dive into Python" Wrap the arguments in lists and then take the first element. ''
3
1334
by: hanumizzle | last post by:
I find Dive Into Python generally an excellent text, and I am not surprised to see people recommending it...but I have noticed a few errors already: http://diveintopython.org/getting_to_know_python/indenting_code.html The function called fib (presumably short for Fibonacci) appears to produce factorials. Anyway, 'fib' should really be called 'hem'. :) http://diveintopython.org/native_data_types/tuples.html#odbchelper.tuplemethods
0
1401
by: Ben Edwards (lists) | last post by:
Have been working through Dive Into Python which is excellent. My only problem is that there are not exercises. I find exercises are a great way of helping stuff sink in and verifying my learning. Has anyone done such a thing? Ben
1
1823
by: Ben Edwards (lists) | last post by:
I have been going through Dive into Python which up to now has been excellent. I am now working through Chapter 9, XML Processing. I am 9 pages in (p182) in the 'Parsing XML section. The following code is supposed to return the whole XML document (I have put ti at the end of this email): from xml.dom import minidom xmldoc = minidom.parse('/home/ben/diveintopython-5.4/py/kgp/binary.xml')
0
1036
by: Ben Edwards | last post by:
Am going through Chapter 9 - HTTP Web Services in dive into Python. It uses the following: data = urllib.urlopen('http://diveintomark.org/xml/atom.xml').read() The page no longer exists, can anyone recommend an alternative page to use? Ben
3
1361
by: webandwe | last post by:
Hi, Does anyone know where I can get a free scuba dive log book module, I want user to be able login and then the module must display all of their dive. Otherwise how/what do I need to do to get mysql to work off from one id and display all the other dives the person made? I just need some advise what I must be looking at to do.... Kind REgards
0
8413
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8324
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
8740
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
8513
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8617
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
7352
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6176
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
4173
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
4330
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.