1 |
On Mon, 22 Mar 2004 12:36:20 -0800 (PST) |
2 |
Dennis Allison <allison@×××××××××××××××.edu> wrote: |
3 |
|
4 |
> |
5 |
> I don't want to start a flame war, but after an initial love affair I |
6 |
> dont't much like Java. It's not a "better C++", it's a "different |
7 |
> C++". I |
8 |
|
9 |
More or less. Java = tidied up C++ what the syntax concerns. |
10 |
|
11 |
> found the hype associated with the language irritatiing and the lack |
12 |
> of stability as the language evolved unfortunate. But there are |
13 |
> places where the language was useful and I put aside my personal |
14 |
> prejudices and worked with the notation. |
15 |
> |
16 |
> But, I personally don't think Java's a good language for Andrew's |
17 |
> purpose--which is to learn to program. |
18 |
|
19 |
I should read his mail again. I have to clarify my statement: |
20 |
|
21 |
If someone would like to learn OOP I would suggest Java because it's a |
22 |
modern language with modern concepts. |
23 |
|
24 |
> |
25 |
> In a very real sense, I think assembly lanaguage (or even Hex machine |
26 |
> code) may be a good place to start to learn programming. A good macro |
27 |
> assembler is an awesome tool in the hands of a skilled programmer. |
28 |
> Some beginning programming books--Yale Patt's in particular--adopt the |
29 |
> view that everyone should learn about programming from the bits up. |
30 |
> |
31 |
> My point was/is that programming is language independent. I've always |
32 |
> liked Michael Griffith's comment about programming: "I always use the |
33 |
> same programming language no matter what the compiler" or something |
34 |
> like that. Using a polymorphic, internally consistent, |
35 |
> object-oriented language like Python is a good framework to learn |
36 |
> programming. I think Python does a pretty good job of capturing the |
37 |
> abstractions you need to write simple, conceptually clear programs. |
38 |
> You don't have to worry about the nits, you can program interactively |
39 |
> and see what happens, and there's not the huge overhead of type |
40 |
> mechanisms to drag into every single little program. The language is |
41 |
> introspective (aka introspective) so programs can learn about their |
42 |
> own structure. |
43 |
> |
44 |
> But ultimately the only way to learn about programming is to read |
45 |
> programs and work with masters in the field. It's still an art not a |
46 |
> science. |
47 |
> |
48 |
> On Mon, 22 Mar 2004, Marc Giger wrote: |
49 |
> |
50 |
> > On Mon, 22 Mar 2004 13:13:42 -0600 |
51 |
> > Andrew Gaffney <agaffney@×××××××××××.com> wrote: |
52 |
> > |
53 |
> > > Dennis Allison wrote: |
54 |
> > > > First, it is important to understand that programming is |
55 |
> > > > independent of any particular programming language. Languages |
56 |
> > > > are just the representation or notation for programs. Some are |
57 |
> > > > large and complex and likely to get in the way of understanding |
58 |
> > > > programming (C++); others are spare and simple and conceptually |
59 |
> > > > clean (Python, Scheme). |
60 |
> > > > |
61 |
> > > > I'd begin with Python and then move on to other languages. |
62 |
> > > > Starting with C++ is a bit like deciding you want to take up |
63 |
> > > > mountain climbing and that the first mountain you want to climb |
64 |
> > > > is Mount Everest. |
65 |
> > > |
66 |
> > > While I do completely agree with that analogy, C++ was the first |
67 |
> > > (real) language I learned (after Apple BASIC, QBasic, VB, and Java |
68 |
> > > (*I* do not consider Java a real language)) and |
69 |
> > |
70 |
> > I really don't understand what people have against Java?!? Is it |
71 |
> > because of Sun and its license? |
72 |
> > I have many years of experience in java programming and also learned |
73 |
> > object oriented programming with it. In my opinion it's good and |
74 |
> > clean. How many other languages do you know, which works on multiple |
75 |
> > platforms without recompiling, run as a plugin in browsers, has deep |
76 |
> > security concept built in (sandbox, bytecode verifier, etc), |
77 |
> > multithreading as a basic language feature, exception handling, |
78 |
> > RPC/RMI, etc etc etc ... |
79 |
> > |
80 |
> > If someone really is interested in understanding object oriented |
81 |
> > programming then I would advise to begin with Java. |
82 |
> > |
83 |
> > > it gave me a broad understanding of the way that any language |
84 |
> > > works. Because I know C/C++, I can easily pick up new languages |
85 |
> > > because I don't have to learn new concepts. |
86 |
> > |
87 |
> > Agreed, but as you said, your first language was not C/C++ but |
88 |
> > Basic, VB, Java etc. Correct me if I am wrong, but I think you |
89 |
> > learned(hopefully) object oriented programming mostly with Java. |
90 |
> > |
91 |
> > In my case I learned OOP in Java and could utilize it to C++ without |
92 |
> > big problems. The only strange thing was weird language constructs |
93 |
> > and discrepancies in C/C++. |
94 |
> > |
95 |
> > Please don't get me wrong. |
96 |
> > |
97 |
> > Regards |
98 |
> > |
99 |
> > Marc |
100 |
> > |
101 |
> > -- |
102 |
> > gentoo-dev@g.o mailing list |
103 |
> > |
104 |
> |
105 |
> -- |
106 |
> Dennis Allison * Computer Systems Laboratory * Gates 227 |
107 |
> * Stanford University * Stanford CA 94305 |
108 |
> * (650) 723-9213 * (650) 723-0033 fax |
109 |
> * allison@×××××××××××××××.edu |
110 |
> * allison@×××××××××××××××.edu |
111 |
> |
112 |
> |
113 |
|
114 |
-- |
115 |
gentoo-dev@g.o mailing list |