Gentoo Archives: gentoo-dev

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

Replies

Subject Author
Re: [gentoo-dev] Programming advice wanted? Andrew Gaffney <agaffney@×××××××××××.com>
Re: [gentoo-dev] Programming advice wanted? Marc Giger <gigerstyle@×××.ch>
Re: [gentoo-dev] Programming advice wanted? Jeff Griffiths <jeffg@×××××××××××.com>