Re: Which programming Language

2009-02-17 Thread Hendrik Boom
On Fri, 06 Feb 2009 18:25:31 +0100, Abdelkader Belahcene wrote:

 HI,
 There are many and many programming languages (mainly : C,C++,java,
 Shell, Perl, python, php). which learn and use, in which circonstances
 use that language instead of the other.
 
 In many situations we can use anyone, but which is better.
 
 thanks a lot
 bela
 __

Let me be clear about one thing first.  Until you've had a real taste of 
programming, you won't know whether it's something you want to spend the 
rest of your life doing.  There are languages that are easy to learn and 
use, and there are languages that are hard to learn and use.  And a 
number of so-called teaching languages are limited, so that you can 
start to use them, and possibly like them, but when you get on to real 
applications it's as if you're wading through deep water instead of 
taking the boat.  You won't even know you could be using a boat.

If you are starting to learn programming, I'd suggest you start with the 
PLT implementation of  Scheme and the textbook How To Design Programs.  
Both are available for free online.  I believe the PLT implementation of 
Scheme also provides teachpacks that correspond well with the contents 
of the book.

Why do I recommend this one?  Because it teaches good ways of *thinking* 
about the process of programming -- lessons you will not have to unlearn 
later, and which are far more important than the details of a particular 
language.

And it won't necessarily take all that long to understand the basics.  
I've heard of people who have worked through the book in less than a 
week.  Even if it takes you longer, or much longer, a week is enough for 
you to start to understand what's really involved in programming, and to 
have a clear idea whether this is the kind of thing you want to do with 
the rest of your life.  AND THAT'S PROBABLY THE MOST IMPORTANT THING YOU 
NEED TO LEARN AS A BEGINNER.

Once you have learned to think in the right way, you will find it easy to 
pick up other languages more-or-less on demand.

But Scheme is not just a tiny teaching language that will leave you in 
the lurch when it comes to doing real work.  Granted, there are tasks 
it isn't ideally suited for.  But some implementations of Scheme (notably 
PLT Scheme) come with extensive libraries that make them eminently 
suitable for a wide variety of real-world tasks.  For example, effective 
web servers have been written in PLT Scheme.

***

As for a second language, you'll have to consider what you're going to 
use it for.  The constraints are:

(a) What you have to be compatible with.  Most large programming projects 
have chosen their programming languages long before you're on the scene, 
and you'll just have to go along with whatever they've chosen if you want 
to be on the team.

(b) Whether you need to be intimate with the details of the hardware.  
Assembler and C are often used in this case.  For example, programming a 
video driver for one of the modern video cards will need a language that 
can talk about the hardware registers that exist on the physical 
machine.  This is why C gets used for the Linux kernel.

The big accomplishment of C in the early 70's was to give you most of the 
advantages and disadvantages of assembly language without its 
excruciatingly obscure syntax. 

Not that there aren't better languages for doing this, too, (See Modula3 
for a good example (completely different from Modula2, which I'm not 
recommending)) but C was readily available and adequate when Linux was 
started, and C was one of the first. See (a).

***

Overall recommendation:  Start with Scheme, then progress to others if 
you feel the need.  If you already program in another language, spend a 
while learning Scheme.  You'll be glad for the lessons you learn, whether 
you finally decide to stick with it or not.

Even if you only need to learn C, you're *still* probably better off 
spending the time learning Scheme first.  You'll learn C faster.

-- hendrik


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-17 Thread Hendrik Boom
On Tue, 10 Feb 2009 20:29:09 -0600, Ron Johnson wrote:

 On 02/10/2009 07:58 PM, ow...@netptc.net wrote:


  Original Message 
 From: m...@allums.com
 To: ron.l.john...@cox.net
 Subject: Re: Which programming  Language Date: Tue, 10 Feb 2009
 12:32:26 -0600
 [snip]
 The Motorola 68000 series was allegedly designed partly with C in
 mind.
 I was told this too.  However, having taught both M68000 Assembler and
 C I have my doubts.
 
 The legend was that C was influenced by PDP-11 assembler.  Don't know
 how true it is.

Probably very true.  As far as I know, the first implementation of C was 
on the PDP-11.  I used it in the 70's, when it was still fresh.  It felt 
like I was programming a PDP-11 but didn't have to worry (much) about 
register allocation.  All the usual operations were there.  Even a 
restriction that if an expression was too complex to be evaluated in the 
available machine registers, the compiler would reject it.

-- hendrik


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-10 Thread Micha Feigin
On Mon, 9 Feb 2009 20:19:59 -0800
Daniel Burrows dburr...@debian.org wrote:

   I think one important thing is to learn more than one language.  There
 are a couple reasons for this, but if I had to give you just one, here
 is what it would be:
 

From experience, after the third or so language it's easy to pick up anything
else. I've debugged and modified programs in languages that I never learned and
had no idea of the syntax.

[...]

 
   I was avoiding naming particular techniques here, but for instance, a
 lot of C++ programmers avoid templates -- functions that can operate on
 more than one type -- because they're considered too hard.  In
 Haskell, *every* function can operate on multiple types; there's no
 special syntax required to do it.

templates have great strengths, but some of the features can be very obscure.
It can also be somewhat difficult to debug and forcing template instantiation
and cross compiler compatibility can be a pain.

On the other hand c programmers have abused language constructs to get
inheritance, rtti, virtual functions and templates for years.

 
   I would advocate learning two languages early on: a lot of people
 invest much time and effort in just one, and then find it too difficult
 to learn a second.  I'm not sure why this is, but my theory is that it's
 some combination of:
 

It should read two different languages. Learning c++ and java won't get you
much farther than either of them alone.

[...]

 
   and at least one of
 
 (2) a Lisp descendant such as Scheme or Common Lisp.  Scheme is
 perhaps easier to learn; Common Lisp seems to have more stuff
 to get stuff done (although IIRC, drscheme/mzscheme has a pretty
 good environment and set of libraries).  Lisp has some
 interestingly different ideas about how a programming language
 can be designed, like its powerful macros, and although it looks
 funny, it's actually not that different from 


Structure and Interpretation of Computer Programs
http://mitpress.mit.edu/sicp/
which uses scheme is an interesting book, at least if you take it for what it
is, a tool used to teach language design constructs and not just a book to
teach scheme (a mistake they made in my uni at the time).

I would also recommend picking up a good book on software engineering. Learn a
but about UML and SRS. I made  a mistake once of telling a lab partner that the
problem was easy to code. He started programing without designing and got lost
after two weeks. With a proper design the while thing was rewritten from scratch
in a day and a half (including the time it took to do the design).

[...]

 
   However, these two languages also require you to ask the system for
 memory when you need to store some data, and to give it back when
 you're done.  It might be surprising, but this turns out to be rather
 difficult -- in fact, until you become quite skilled with the language,
 most of the bugs you write will be related to memory management.  And
 TBH, I think the main skill C/C++ programmers learn around memory
 management is how to avoid writing programs in which memory management
 is difficult. :-)  However, it's useful to have some understanding of
 how this works, because memory handling can cause problems for you in
 higher level languages if you don't understand how it works.  And, of
 course, because then you can do stuff that requires working in a
 language with manual allocation (for whatever reason).
 

Also learn to use the tools. Get proficient with a debugger from the start.
Will save a lot of headache. For c and c++ learning to use valgrind can also
save days of banging your had against the wall

   Daniel
 
 


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-10 Thread owens



 Original Message 
From: ron.l.john...@cox.net
To: debian-user@lists.debian.org
Subject: Re: Which programming  Language
Date: Mon, 09 Feb 2009 21:33:14 -0600

On 02/09/2009 09:15 PM, Chris Jones wrote:
 On Mon, Feb 09, 2009 at 08:05:49PM EST, Micha Feigin wrote:
 
 [..]
 
 The C Programming Language - A language which combines the
 flexibility and power of assembly language with the readability
 and maintainablity of assembly language.
 
 Funniest quote in a long time ..

Except such a person has never used VAX MACRO before.

-- 
Ron Johnson, Jr.
Jefferson LA  USA

Supporting World Peace Through Nuclear Pacification


Is this a misquote??  Readability and maintainability of assembly
language.
Larry
-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.d
ebian.org







--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-10 Thread owens



 Original Message 
From: dburr...@debian.org
To: debian-user@lists.debian.org
Subject: Re: Which programming  Language
Date: Mon, 9 Feb 2009 20:19:59 -0800

  I think one important thing is to learn more than one language. 
There
are a couple reasons for this, but if I had to give you just one,
here
is what it would be:

  In most languages I know, there are certain programming techniques
that are considered difficult, advanced or black magic.  There
are other techniques which are considered easy, and are usually
taught
to beginners.  What's interesting is that these techniques are not
the
same in each language.  In fact, techniques that are considered
advanced in one language are very often easy in another!

  Why is this?  In my opinion, it's not that you have to be smarter
to
write code in, say, Haskell than in C++.  It's that some techniques
that
are directly supported by the most basic language constructs in
Haskell
require the sophisticated use of multiple obscure language features
to
achieve in C++.  So they get the reputation of being hard because
when
most people learn them, they're learning the obscure language
features
and trying to grasp the sophisticated implementation details at the
same time they're trying to learn the concepts behind the technique.
 I
don't mean to pick on C++ here: the same thing is true the other way
around.  (the code for DiffArray is utterly hair-raising, for
instance)
I also think that programmers who have learned these techniques in a
language where they're hard sometimes have trouble separating the
many
implementation details from the technique itself.  That can make it
hard
for them to implement a slightly modified version of the technique,
or
to recognize someone else's implementation when they run into it.

  If you've seen the basic idea in another language, it's a lot
easier
to focus on the details of how to get it done in another language,
and
it's easier to know when to deploy it (you might not know exactly
how
to do it yet, but at least you know that it will solve the problem
in
front of you).  It's basically about getting more tools in your
mental toolbox, so you don't end up trying to drive screws with a
hammer. :-)

  I was avoiding naming particular techniques here, but for
instance, a
lot of C++ programmers avoid templates -- functions that can operate
on
more than one type -- because they're considered too hard.  In
Haskell, *every* function can operate on multiple types; there's no
special syntax required to do it.
  Conversely, a lot of sophisticated C++ code relies on making use
of
side effects: functions that, instead of computing something,
modify
some pseudo-global variable.  Haskell eliminates the routine use of
side
effects, but there are some approaches to problems that are much
easier
to understand in terms of side effects, even if your final
implementation doesn't use them.


  I would advocate learning two languages early on: a lot of people
invest much time and effort in just one, and then find it too
difficult
to learn a second.  I'm not sure why this is, but my theory is that
it's
some combination of:

  (a) baking in a concept of how you conceive of a computer
program,
  so that it's hard to become accustomed to / pick up a new
  language.

  (b) the fact that when you start learning a new language, you
start
  as a beginner (or almost a beginner), which can be a
frustrating
  experience for someone who was an expert in the language they
  were using before.  I imagine it must be like going back to
grade
  school to study arithmetic again.

  For the particular languages, I would advocate

(1) a traditional imperative language such as Java, C#, Python,
C++
PHP, Fortran, Ada, PL/1 ;-) etc.  These are all more or less
the
same (modulo memory management, see below) and they're what
you'll actually use for practical programming and if you
want to
get a paying job.  (we wouldn't call it work if it was
fun. :-) )

  and at least one of

(2) a Lisp descendant such as Scheme or Common Lisp.  Scheme is
perhaps easier to learn; Common Lisp seems to have more
stuff
to get stuff done (although IIRC, drscheme/mzscheme has a
pretty
good environment and set of libraries).  Lisp has some
interestingly different ideas about how a programming
language
can be designed, like its powerful macros, and although it
looks
funny, it's actually not that different from 

(3) one of the strongly typed functional languages, like
O'Caml
(an ML descendant) or Haskell.  These are good for learning
a
lot of techniques

  I might also through Erlang in there -- from what I've heard it's
a
good introduction to concurrent programming.  Sadly I haven't had
time
to learn it myself. :-(

  Also: if you want to become a really expert computer programmer,
you
really MUST become proficient in C or C++ at some point.  (and when
I

Re: Which programming Language

2009-02-10 Thread John Hasler
owens writes:
 For some Engineers (particularly Electrical) that need to know how the
 CPU functions, Assembler is essential.

Programmers need to know how cpus work and so should learn an assembly
language first.  MIXAL will do.
-- 
John Hasler


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-10 Thread Ron Johnson


What ever mail client you are using is mangling threading and reply 
levels.

On 02/10/2009 09:38 AM, ow...@netptc.net wrote:



 Original Message 
From: ron.l.john...@cox.net
To: debian-user@lists.debian.org
Subject: Re: Which programming  Language
Date: Mon, 09 Feb 2009 21:33:14 -0600


On 02/09/2009 09:15 PM, Chris Jones wrote:

On Mon, Feb 09, 2009 at 08:05:49PM EST, Micha Feigin wrote:

[..]



The C Programming Language - A language which combines the
flexibility and power of assembly language with the readability
and maintainablity of assembly language.

Funniest quote in a long time ..



Except such a person has never used VAX MACRO before.



Is this a misquote??


Nope.


 Readability and maintainability of assembly
language.


Yep.  The (CISC) VAX instruction set was designed partly with 
assembly programmers in mind (and also to map closely to FORTRAN and 
COBOL instructions), and the (macro, natch) assembler is designed 
with HLL features.


--
Ron Johnson, Jr.
Jefferson LA  USA

Supporting World Peace Through Nuclear Pacification


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org




Re: Which programming Language

2009-02-10 Thread Mark Allums

Ron Johnson wrote:


 Readability and maintainability of assembly
language.


Yep.  The (CISC) VAX instruction set was designed partly with assembly 
programmers in mind (and also to map closely to FORTRAN and COBOL 
instructions), and the (macro, natch) assembler is designed with HLL 
features.




The Motorola 68000 series was allegedly designed partly with C in mind.

Mark Allums



--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org




Re: Which programming Language

2009-02-10 Thread Ron Johnson

On 02/10/2009 12:32 PM, Mark Allums wrote:

Ron Johnson wrote:


 Readability and maintainability of assembly
language.


Yep.  The (CISC) VAX instruction set was designed partly with assembly 
programmers in mind (and also to map closely to FORTRAN and COBOL 
instructions), and the (macro, natch) assembler is designed with HLL 
features.




The Motorola 68000 series was allegedly designed partly with C in mind.


Patterned after the PDP-11 (), and DEC always liked orthogonal CISC 
chips.


http://en.wikipedia.org/wiki/Motorola_68000#History
The MACSS team drew heavily on the influence of minicomputer
processor design, such as the PDP-11 and VAX systems, which were
similarly microcoded.

--
Ron Johnson, Jr.
Jefferson LA  USA

Supporting World Peace Through Nuclear Pacification


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org




Re: Which programming Language

2009-02-10 Thread Paul E Condon
On 2009-02-10_10:12:00, John Hasler wrote:
 owens writes:
  For some Engineers (particularly Electrical) that need to know how the
  CPU functions, Assembler is essential.
 
 Programmers need to know how cpus work and so should learn an assembly
 language first.  MIXAL will do.
 -- 
 John Hasler

One of the promises made by Ritchie, et. al. to management of Bell
Labs was that it could be used to code hardware drivers and other
difficult stuff, and that it would minimize the need for assembly
language coding experts. At the time, ATT was building, and renting
private telephone exchanges which were computer driven. Each customer
needed to have their own business rules coded into the exchange. The
cost, and delays, were a big problem to the company. Especially
because they were also attempting to design and build their own
special computers for these exchanges.

I think this has turned out to be largely true. Now, IMHO, the only
people who _must_ learn about hardward op-codes of individual cpu
designs, are the people who write the adaptations of compilers to
enable targeting that cpu . Somebody will always have to know these
op-code sets in intimate detail. But the number of people who can earn
a living from such knowledge is becoming vanishingly small, when
compared to the number of people doing software.

Assembly language as a part of pedagogy is, to me, not very useful.
I think C, in an early version, with fewer whistles and bells, can
be used as an effective teaching device. It is very close to what
the hardware is actually doing.

-- 
Paul E Condon   
pecon...@mesanetworks.net


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-10 Thread Ron Johnson

On 02/10/2009 01:24 PM, Paul E Condon wrote:
[snip]


Assembly language as a part of pedagogy is, to me, not very useful.
I think C, in an early version, with fewer whistles and bells, can
be used as an effective teaching device. It is very close to what
the hardware is actually doing.


But that's really similar to macro assemblers.

--
Ron Johnson, Jr.
Jefferson LA  USA

Supporting World Peace Through Nuclear Pacification


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org




Re: Which programming Language

2009-02-10 Thread Micha Feigin
On Tue, 10 Feb 2009 12:24:32 -0700
Paul E Condon pecon...@mesanetworks.net wrote:

 On 2009-02-10_10:12:00, John Hasler wrote:
  owens writes:
   For some Engineers (particularly Electrical) that need to know how the
   CPU functions, Assembler is essential.
  
  Programmers need to know how cpus work and so should learn an assembly
  language first.  MIXAL will do.
  -- 
  John Hasler
 
 One of the promises made by Ritchie, et. al. to management of Bell
 Labs was that it could be used to code hardware drivers and other
 difficult stuff, and that it would minimize the need for assembly
 language coding experts. At the time, ATT was building, and renting
 private telephone exchanges which were computer driven. Each customer
 needed to have their own business rules coded into the exchange. The
 cost, and delays, were a big problem to the company. Especially
 because they were also attempting to design and build their own
 special computers for these exchanges.
 
 I think this has turned out to be largely true. Now, IMHO, the only
 people who _must_ learn about hardward op-codes of individual cpu
 designs, are the people who write the adaptations of compilers to
 enable targeting that cpu . Somebody will always have to know these
 op-code sets in intimate detail. But the number of people who can earn
 a living from such knowledge is becoming vanishingly small, when
 compared to the number of people doing software.
 

You don't need to know hardware op codes, but for doing efficient algorithms
you do need to know some hardware.

I don' t know about x86 but at the time they taught us mips assembly in uni and
the nice thing there is that the assembly is directly linked to the actual cpu
wiring. Saved my ass a few times. Still helps me understand all sorts of things
(instruction interleaving, branch prediction and such)

 Assembly language as a part of pedagogy is, to me, not very useful.
 I think C, in an early version, with fewer whistles and bells, can
 be used as an effective teaching device. It is very close to what
 the hardware is actually doing.
 


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-10 Thread Jack Schneider
On Tue, 10 Feb 2009 12:45:49 -0600
Ron Johnson ron.l.john...@cox.net wrote:

 On 02/10/2009 12:32 PM, Mark Allums wrote:
  Ron Johnson wrote:
  
   Readability and maintainability of assembly
  language.
 
  Yep.  The (CISC) VAX instruction set was designed partly with
  assembly programmers in mind (and also to map closely to FORTRAN
  and COBOL instructions), and the (macro, natch) assembler is
  designed with HLL features.
 
  
  The Motorola 68000 series was allegedly designed partly with C in
  mind.
 
 Patterned after the PDP-11 (), and DEC always liked orthogonal CISC 
 chips.
 
 http://en.wikipedia.org/wiki/Motorola_68000#History
  The MACSS team drew heavily on the influence of minicomputer
  processor design, such as the PDP-11 and VAX systems, which were
  similarly microcoded.
 
Hey, Ron

Due to Obama's intent to automate medical records, do you think that it
may be helpful to get out the old MUMPS(M) docs?  Never got it's place
in the sun.  But still in use at the GOV!

Thinks I may have them on DECtape!  8-)

Jack



-- 


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-10 Thread Ron Johnson

On 02/10/2009 04:55 PM, Jack Schneider wrote:

On Tue, 10 Feb 2009 12:45:49 -0600
Ron Johnson ron.l.john...@cox.net wrote:


On 02/10/2009 12:32 PM, Mark Allums wrote:

Ron Johnson wrote:


 Readability and maintainability of assembly
language.

Yep.  The (CISC) VAX instruction set was designed partly with
assembly programmers in mind (and also to map closely to FORTRAN
and COBOL instructions), and the (macro, natch) assembler is
designed with HLL features.


The Motorola 68000 series was allegedly designed partly with C in
mind.
Patterned after the PDP-11 (), and DEC always liked orthogonal CISC 
chips.


http://en.wikipedia.org/wiki/Motorola_68000#History
 The MACSS team drew heavily on the influence of minicomputer
 processor design, such as the PDP-11 and VAX systems, which were
 similarly microcoded.


Hey, Ron

Due to Obama's intent to automate medical records, do you think that it
may be helpful to get out the old MUMPS(M) docs?  Never got it's place
in the sun.  But still in use at the GOV!


Cache' has been ported to Itanium/VMS, and I'm sure that HP would 
love to sell hundreds of OpenVMS licenses to the government...



Thinks I may have them on DECtape!  8-)


Hah!

--
Ron Johnson, Jr.
Jefferson LA  USA

Supporting World Peace Through Nuclear Pacification


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org




Re: Which programming Language

2009-02-10 Thread Ron Johnson

On 02/10/2009 04:55 PM, Jack Schneider wrote:
[snip]


Due to Obama's intent to automate medical records, do you think that it


I don't think his ultimate purpose is hackable medical records, but 
that's another story...



may be helpful to get out the old MUMPS(M) docs?  Never got it's place
in the sun.  But still in use at the GOV!

Thinks I may have them on DECtape!  8-)


Found this via Google:
http://www.vistasoftware.org/presentations/VSA-What_Is_VistA_080406.pdf


--
Ron Johnson, Jr.
Jefferson LA  USA

Supporting World Peace Through Nuclear Pacification


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org




Re: Which programming Language

2009-02-10 Thread owens



 Original Message 
From: m...@allums.com
To: ron.l.john...@cox.net
Subject: Re: Which programming  Language
Date: Tue, 10 Feb 2009 12:32:26 -0600

Ron Johnson wrote:

  Readability and maintainability of
assembly
 language.
 
 Yep.  The (CISC) VAX instruction set was designed partly with
assembly 
 programmers in mind (and also to map closely to FORTRAN and COBOL 
 instructions), and the (macro, natch) assembler is designed with
HLL 
 features.
 

The Motorola 68000 series was allegedly designed partly with C in
mind.

Mark Allums

I was told this too.  However, having taught both M68000 Assembler
and C I have my doubts.
Larry


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.d
ebian.org







--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-10 Thread Ron Johnson

On 02/10/2009 07:58 PM, ow...@netptc.net wrote:



 Original Message 
From: m...@allums.com
To: ron.l.john...@cox.net
Subject: Re: Which programming  Language
Date: Tue, 10 Feb 2009 12:32:26 -0600

[snip]

The Motorola 68000 series was allegedly designed partly with C in
mind.

I was told this too.  However, having taught both M68000 Assembler
and C I have my doubts.


The legend was that C was influenced by PDP-11 assembler.  Don't 
know how true it is.


--
Ron Johnson, Jr.
Jefferson LA  USA

Supporting World Peace Through Nuclear Pacification


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org




Re: Which programming Language

2009-02-10 Thread Jack Schneider
On Tue, 10 Feb 2009 17:42:15 -0600
Ron Johnson ron.l.john...@cox.net wrote:

 On 02/10/2009 04:55 PM, Jack Schneider wrote:
 [snip]
  
  Due to Obama's intent to automate medical records, do you think
  that it
 
 I don't think his ultimate purpose is hackable medical records, but 
 that's another story...
 
  may be helpful to get out the old MUMPS(M) docs?  Never got it's
  place in the sun.  But still in use at the GOV!
  
  Thinks I may have them on DECtape!  8-)
 
 Found this via Google:
 http://www.vistasoftware.org/presentations/VSA-What_Is_VistA_080406.pdf
 
 
Hooray! Now I know of two incompatible systems named VISTA!!!

Have a great evening!

Jack

-- 


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-10 Thread Mark Allums

Ron Johnson wrote:

On 02/10/2009 07:58 PM, ow...@netptc.net wrote:



 Original Message 
From: m...@allums.com
To: ron.l.john...@cox.net
Subject: Re: Which programming  Language
Date: Tue, 10 Feb 2009 12:32:26 -0600

[snip]

The Motorola 68000 series was allegedly designed partly with C in
mind.

I was told this too.  However, having taught both M68000 Assembler
and C I have my doubts.


The legend was that C was influenced by PDP-11 assembler.  Don't know 
how true it is.




C came from B which came from BCPL;  B and BCPL predate the PDP-11.

Mark Allums


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org




Re: Which programming Language

2009-02-10 Thread Ron Johnson

On 02/10/2009 10:21 PM, Mark Allums wrote:

Ron Johnson wrote:

On 02/10/2009 07:58 PM, ow...@netptc.net wrote:



 Original Message 
From: m...@allums.com
To: ron.l.john...@cox.net
Subject: Re: Which programming  Language
Date: Tue, 10 Feb 2009 12:32:26 -0600

[snip]

The Motorola 68000 series was allegedly designed partly with C in
mind.

I was told this too.  However, having taught both M68000 Assembler
and C I have my doubts.


The legend was that C was influenced by PDP-11 assembler.  Don't know 
how true it is.




C came from B which came from BCPL;  B and BCPL predate the PDP-11.


*Influenced by*.  Otherwise, they would have used B.

--
Ron Johnson, Jr.
Jefferson LA  USA

Supporting World Peace Through Nuclear Pacification


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org




Re: Which programming Language

2009-02-09 Thread Nuno Magalhães
 Standards can't cover every use case, and the C/C++ ones don't really cover
 enough.

They're a work in progress. The STL is already included in the
standard and most likely the Boost libraries will be part of C++0x.

Nuno Magalhães


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-09 Thread Douglas A. Tutty
On Sun, Feb 08, 2009 at 05:17:33PM -0600, Boyd Stephen Smith Jr. wrote:
 On Sunday 08 February 2009 12:14:20 Douglas A. Tutty wrote:
  Sure, C has ANSI (ISO) standards, but every compiler (including gcc) has
  extensions to it that one almost has to use to get things done.
 
 I disagree that you *have* to use compiler extensions.  It takes discipline, 
 but it's possible to write without them.  Most often it not compiler 
 extensions, but the need to use a non-standard library that gets me.  
 Standards can't cover every use case, and the C/C++ ones don't really cover 
 enough.
 
 Plus, it's not like Ada compilers can't have extensions.

If an Ada compiler wants to have an extension and still pass the test as
a certified Ada compiler, it has to do extenstions within the framework
provided for in the standard.

Doug.


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-09 Thread Douglas A. Tutty
On Sun, Feb 08, 2009 at 05:00:54PM -0600, Boyd Stephen Smith Jr. wrote:
 On Sunday 08 February 2009 11:04:42 Martin wrote:
  On Sat, Feb 07, 2009 at 10:24:58PM -0600, Boyd Stephen Smith Jr. wrote:
 
  And C standard is one that leaves many features implementation
  defined, unspecified or undefined!
 
 That's on purpose, for two reasons: (1) to support multiple competing 
 implementations, (2) to document where implementations are allowed to differ 
 so programmers can avoid them if they so choose.
 
y += y+++--y;
 
 This results in implementation-specific behavior since you are modifying a 
 single variable twice with no sequence point in between.
 
printf(x=%d y=%d z=%d\n, x, y, z);
 
 More implementation-specific behavior as z has not be initialized.
 
  Two compiler that I installed on Debian (gcc, tcc) gives different result.
 
 Different implementations are allowed to have different behavior in this 
 case.  
 It's not a flaw with the standard to support multiple implementations; it's a 
 feature.  If the programmer wants consistent results across implementations, 
 they can avoid the constructs that the standard says have undefined or 
 implementation-specific behavior.


The problem with implementation-specific stuff in C is that it is
allowed to varry so much from one implementation to another that you get
such unportable behaviour where this isn't technically necessary.

This was addressed in the Ada standard.  It says of the main langauge,
basically that all implementation have to do such-and-such.  It then
says that there are optional things that every implementation doesn't
have to have, but if it chooses to have it, it has to be done in a
specific way.

I really suggest that the OP read Understanding Programming Languages by
M. Ben-Ari.  It is freely available on the internet (or I can email it,
its under 1 MB).  It talks about programming lanagues in the abstract
and contrasts and compares C, C++, Ada, Java, and the more historical
languages where appropriate, such as FORTRAN, COBOL, Pascal, Smalltalk,
PL/1, etc.

Doug.


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



RE: Which programming Language

2009-02-09 Thread Stackpole, Chris
 From: Douglas A. Tutty [mailto:dtu...@vianet.ca]
 Sent: Monday, February 09, 2009 9:19 AM
 Subject: Re: Which programming Language
 
[snip]
 I really suggest that the OP read Understanding Programming Languages
by
 M. Ben-Ari.  It is freely available on the internet (or I can email
it,
 its under 1 MB).  It talks about programming lanagues in the abstract
 and contrasts and compares C, C++, Ada, Java, and the more historical
 languages where appropriate, such as FORTRAN, COBOL, Pascal,
Smalltalk,
 PL/1, etc.
 
 Doug.

This book piqued my interest. Just incase someone else wants it here is
the link: http://www.computer-books.us/ada95_0008.php

I got it from the wiki page of M. Ben-Ari.

Though why it is compressed twice is beyond me.

Have fun!
~Stack~


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-09 Thread Micha Feigin
On Mon, 9 Feb 2009 10:19:01 -0500
Douglas A. Tutty dtu...@vianet.ca wrote:

 On Sun, Feb 08, 2009 at 05:00:54PM -0600, Boyd Stephen Smith Jr. wrote:
  On Sunday 08 February 2009 11:04:42 Martin wrote:
   On Sat, Feb 07, 2009 at 10:24:58PM -0600, Boyd Stephen Smith Jr. wrote:
  
   And C standard is one that leaves many features implementation
   defined, unspecified or undefined!
  
  That's on purpose, for two reasons: (1) to support multiple competing 
  implementations, (2) to document where implementations are allowed to
  differ so programmers can avoid them if they so choose.
  
 y += y+++--y;
  
  This results in implementation-specific behavior since you are modifying a 
  single variable twice with no sequence point in between.
  
 printf(x=%d y=%d z=%d\n, x, y, z);
  
  More implementation-specific behavior as z has not be initialized.
  
   Two compiler that I installed on Debian (gcc, tcc) gives different result.
  
  Different implementations are allowed to have different behavior in this
  case. It's not a flaw with the standard to support multiple
  implementations; it's a feature.  If the programmer wants consistent
  results across implementations, they can avoid the constructs that the
  standard says have undefined or implementation-specific behavior.
 
 
 The problem with implementation-specific stuff in C is that it is
 allowed to varry so much from one implementation to another that you get
 such unportable behaviour where this isn't technically necessary.
 

At least the example given two mails up is in my opinion and attempt to abuse
an edge case in the standard.

My experience is that with borderline sane programing readable code (at least
to the point where it is maintainable) you don't really run into problematic
contradictions in the standard (and I have some experience with dirty
programming, to the point that a boss once told be to change gcc since it was
giving a warning not to do something specified by operator precedence and he
didn't like it)

 This was addressed in the Ada standard.  It says of the main langauge,
 basically that all implementation have to do such-and-such.  It then
 says that there are optional things that every implementation doesn't
 have to have, but if it chooses to have it, it has to be done in a
 specific way.
 
 I really suggest that the OP read Understanding Programming Languages by
 M. Ben-Ari.  It is freely available on the internet (or I can email it,
 its under 1 MB).  It talks about programming lanagues in the abstract
 and contrasts and compares C, C++, Ada, Java, and the more historical
 languages where appropriate, such as FORTRAN, COBOL, Pascal, Smalltalk,
 PL/1, etc.

Just for the record, Fortran is very much alive and kicking. It's actually a
wonderful language for mathematical work and HPC. It's just no longer a hype
word. And I'm mostly talking about fortran 90/95. Fortran 77 is a bit archaic.
I am hoping that a fortran 2008 compiler will come out soon and that has object
oriented paradigms. Maybe part of the problem is the lack of a
cheap/free/accessible compiler for windows as the intel compiler rather
expensive, but HPC is much more linux/unix based anyway.


 
 Doug.
 
 


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-09 Thread Douglas A. Tutty
On Mon, Feb 09, 2009 at 11:57:42PM +0200, Micha Feigin wrote:
 
 Just for the record, Fortran is very much alive and kicking. It's actually a
 wonderful language for mathematical work and HPC. It's just no longer a hype
 word. And I'm mostly talking about fortran 90/95. Fortran 77 is a bit archaic.
 I am hoping that a fortran 2008 compiler will come out soon and that has 
 object
 oriented paradigms. Maybe part of the problem is the lack of a
 cheap/free/accessible compiler for windows as the intel compiler rather
 expensive, but HPC is much more linux/unix based anyway.

I agree that Fortran is alive and kicking.  I still have some Fortran77
code.  I'm sure there are still billions of lines of Fortran code
running on older systems.  In many engineering fields, the ability to do
basic stuff with fortran77 was (is?) a basic job requirement simply
because of all the legacy code out there.

The numerical/HPC domain was also one considered when Ada was created.
Think about computer modeling of the performance of a new submarine.
(As a historical/literature note, in Tom Clancy's Hunt for Red October,
Skip Taylor takes a submarine computer model, translates it into Ada for
use on a Navy Cray, in order to predict the performance of the new
Catepillar Drive on Red October).

While Ada's run-time checks may cause some overhead, they can be turned
off if you want.  Since both Fortran and Ada are compiled with gcc's
backend to object code, you can't really say that one language is better
than the other for that domain.  However, it could be possible that gcc
is able to produce more efficient code for one language than the other.
This would be the fault of the compiler rather than the language.

Doug.


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-09 Thread Ron Johnson

On 02/09/2009 05:02 PM, Douglas A. Tutty wrote:

On Mon, Feb 09, 2009 at 11:57:42PM +0200, Micha Feigin wrote:
 

Just for the record, Fortran is very much alive and kicking. It's actually a
wonderful language for mathematical work and HPC. It's just no longer a hype
word. And I'm mostly talking about fortran 90/95. Fortran 77 is a bit archaic.
I am hoping that a fortran 2008 compiler will come out soon and that has object
oriented paradigms. Maybe part of the problem is the lack of a
cheap/free/accessible compiler for windows as the intel compiler rather
expensive, but HPC is much more linux/unix based anyway.


I agree that Fortran is alive and kicking.  I still have some Fortran77


Isn't it obvious to everyone that PL/I is the *only* language?

--
Ron Johnson, Jr.
Jefferson LA  USA

Supporting World Peace Through Nuclear Pacification


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org




Re: Which programming Language

2009-02-09 Thread Micha Feigin
I was looking for a specific quote and ended up finding this page which has
some relevant ones for most of this thread. Took out some of the better ones

http://en.wikiquote.org/wiki/Programming
http://www.gdargaud.net/Humor/QuotesProgramming.html

On Mon, 09 Feb 2009 17:27:39 -0600
Ron Johnson ron.l.john...@cox.net wrote:

 On 02/09/2009 05:02 PM, Douglas A. Tutty wrote:
  On Mon, Feb 09, 2009 at 11:57:42PM +0200, Micha Feigin wrote:
   
  Just for the record, Fortran is very much alive and kicking. It's actually
  a wonderful language for mathematical work and HPC. It's just no longer a
  hype word. And I'm mostly talking about fortran 90/95. Fortran 77 is a bit
  archaic. I am hoping that a fortran 2008 compiler will come out soon and
  that has object oriented paradigms. Maybe part of the problem is the lack
  of a cheap/free/accessible compiler for windows as the intel compiler
  rather expensive, but HPC is much more linux/unix based anyway.
  
  I agree that Fortran is alive and kicking.  I still have some Fortran77
 

FORTRAN, the infantile disorder, by now nearly 20 years old, is hopelessly 
inadequate for whatever computer application you have in mind today: it is now 
too clumsy, too risky, and too expensive to use. —Edsger Dijkstra, circa 1970.

 Isn't it obvious to everyone that PL/I is the *only* language?
 

Actually I just remembered my first language, even before basic, was logo (just
shows how old I am). Turns out that it's still alive
aptitude install ucblogo

Regarding previous talk about ADA:
---

C treats you like a consenting adult. Pascal treats you like a naughty child. 
Ada treats you like a criminal.
* Bruce Powel Douglass

c/c++:
-

The C Programming Language - A language which combines the flexibility and 
power of assembly language with the readability and maintainablity of assembly 
language.

C++: an octopus made by nailing extra legs onto a dog.
* Steve Taylor

And as for programming languages, I found this quote
--

The most important thing in a programming language is the name. A language will 
not succeed without a good name. I have recently invented a very good name and 
now I am looking for a suitable language.
* Donald E. Knuth (1938-...)

* Law 1: Every program can be optimised to be smaller. Law 2: There's always 
one more bug. Corollary: Every program can be reduced to a one-line bug.


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-09 Thread Ron Johnson

On 02/09/2009 07:05 PM, Micha Feigin wrote:

I was looking for a specific quote and ended up finding this page which has
some relevant ones for most of this thread. Took out some of the better ones

http://en.wikiquote.org/wiki/Programming
http://www.gdargaud.net/Humor/QuotesProgramming.html

On Mon, 09 Feb 2009 17:27:39 -0600
Ron Johnson ron.l.john...@cox.net wrote:


On 02/09/2009 05:02 PM, Douglas A. Tutty wrote:

On Mon, Feb 09, 2009 at 11:57:42PM +0200, Micha Feigin wrote:
 

Just for the record, Fortran is very much alive and kicking. It's actually
a wonderful language for mathematical work and HPC. It's just no longer a
hype word. And I'm mostly talking about fortran 90/95. Fortran 77 is a bit
archaic. I am hoping that a fortran 2008 compiler will come out soon and
that has object oriented paradigms. Maybe part of the problem is the lack
of a cheap/free/accessible compiler for windows as the intel compiler
rather expensive, but HPC is much more linux/unix based anyway.

I agree that Fortran is alive and kicking.  I still have some Fortran77


FORTRAN, the infantile disorder, by now nearly 20 years old, is hopelessly 
inadequate for whatever computer application you have in mind today: it is now 
too clumsy, too risky, and too expensive to use. —Edsger Dijkstra, circa 1970.


Isn't it obvious to everyone that PL/I is the *only* language?



Actually I just remembered my first language, even before basic, was logo (just
shows how old I am). Turns out that it's still alive
aptitude install ucblogo

Regarding previous talk about ADA:
---

C treats you like a consenting adult. Pascal treats you like a naughty child. 
Ada treats you like a criminal.
* Bruce Powel Douglass


No, Ada acknowledges that people are fallible.

A C program is like a fast dance on a newly waxed dance floor by 
people carrying razors.

Waldi Ravens


--
Ron Johnson, Jr.
Jefferson LA  USA

Supporting World Peace Through Nuclear Pacification


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org




Re: Which programming Language

2009-02-09 Thread Chris Jones
On Mon, Feb 09, 2009 at 08:05:49PM EST, Micha Feigin wrote:

[..]

 The C Programming Language - A language which combines the flexibility and 
 power of assembly language with the readability and maintainablity of 
 assembly language.

Funniest quote in a long time .. 


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-09 Thread Napoleon

Douglas A. Tutty wrote:

On Sun, Feb 08, 2009 at 05:17:33PM -0600, Boyd Stephen Smith Jr. wrote:


Plus, it's not like Ada compilers can't have extensions.


If an Ada compiler wants to have an extension and still pass the test as
a certified Ada compiler, it has to do extenstions within the framework
provided for in the standard.

Doug.




Ada is a decent language, but little used outside of the government. 
The business world has not embraced it, and if it weren't for the 
government requirements, it would have gone the way of SNOBOL by now.


A programmer who only knows Ada will starve unless he can get a job for 
the government or a government contractor.



--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org




Re: Which programming Language

2009-02-09 Thread Ron Johnson

On 02/09/2009 09:15 PM, Chris Jones wrote:

On Mon, Feb 09, 2009 at 08:05:49PM EST, Micha Feigin wrote:

[..]


The C Programming Language - A language which combines the
flexibility and power of assembly language with the readability
and maintainablity of assembly language.


Funniest quote in a long time ..


Except such a person has never used VAX MACRO before.

--
Ron Johnson, Jr.
Jefferson LA  USA

Supporting World Peace Through Nuclear Pacification


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org




Re: Which programming Language

2009-02-09 Thread Douglas A. Tutty
On Mon, Feb 09, 2009 at 10:07:12PM -0500, Napoleon wrote:
 Douglas A. Tutty wrote:
 On Sun, Feb 08, 2009 at 05:17:33PM -0600, Boyd Stephen Smith Jr. wrote:
 
 Plus, it's not like Ada compilers can't have extensions.
 
 If an Ada compiler wants to have an extension and still pass the test as
 a certified Ada compiler, it has to do extenstions within the framework
 provided for in the standard.
 
 Ada is a decent language, but little used outside of the government. 
 The business world has not embraced it, and if it weren't for the 
 government requirements, it would have gone the way of SNOBOL by now.
 
 A programmer who only knows Ada will starve unless he can get a job for 
 the government or a government contractor.

The OP still hasn't told us what prompted the OP.  As I said, if he's
looking to learn for a job, he should talk to prospective employers.

The government requirements have expired; the US gov't has moved to more
COTS.  

OTOH, if the OP is interested in aerospace, like upgrading the software
on the Boeing 777, he'll need Ada.

Doug.


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-09 Thread Daniel Burrows
  I think one important thing is to learn more than one language.  There
are a couple reasons for this, but if I had to give you just one, here
is what it would be:

  In most languages I know, there are certain programming techniques
that are considered difficult, advanced or black magic.  There
are other techniques which are considered easy, and are usually taught
to beginners.  What's interesting is that these techniques are not the
same in each language.  In fact, techniques that are considered
advanced in one language are very often easy in another!

  Why is this?  In my opinion, it's not that you have to be smarter to
write code in, say, Haskell than in C++.  It's that some techniques that
are directly supported by the most basic language constructs in Haskell
require the sophisticated use of multiple obscure language features to
achieve in C++.  So they get the reputation of being hard because when
most people learn them, they're learning the obscure language features
and trying to grasp the sophisticated implementation details at the
same time they're trying to learn the concepts behind the technique.  I
don't mean to pick on C++ here: the same thing is true the other way
around.  (the code for DiffArray is utterly hair-raising, for instance)
I also think that programmers who have learned these techniques in a
language where they're hard sometimes have trouble separating the many
implementation details from the technique itself.  That can make it hard
for them to implement a slightly modified version of the technique, or
to recognize someone else's implementation when they run into it.

  If you've seen the basic idea in another language, it's a lot easier
to focus on the details of how to get it done in another language, and
it's easier to know when to deploy it (you might not know exactly how
to do it yet, but at least you know that it will solve the problem in
front of you).  It's basically about getting more tools in your
mental toolbox, so you don't end up trying to drive screws with a
hammer. :-)

  I was avoiding naming particular techniques here, but for instance, a
lot of C++ programmers avoid templates -- functions that can operate on
more than one type -- because they're considered too hard.  In
Haskell, *every* function can operate on multiple types; there's no
special syntax required to do it.
  Conversely, a lot of sophisticated C++ code relies on making use of
side effects: functions that, instead of computing something, modify
some pseudo-global variable.  Haskell eliminates the routine use of side
effects, but there are some approaches to problems that are much easier
to understand in terms of side effects, even if your final
implementation doesn't use them.


  I would advocate learning two languages early on: a lot of people
invest much time and effort in just one, and then find it too difficult
to learn a second.  I'm not sure why this is, but my theory is that it's
some combination of:

  (a) baking in a concept of how you conceive of a computer program,
  so that it's hard to become accustomed to / pick up a new
  language.

  (b) the fact that when you start learning a new language, you start
  as a beginner (or almost a beginner), which can be a frustrating
  experience for someone who was an expert in the language they
  were using before.  I imagine it must be like going back to grade
  school to study arithmetic again.

  For the particular languages, I would advocate

(1) a traditional imperative language such as Java, C#, Python, C++
PHP, Fortran, Ada, PL/1 ;-) etc.  These are all more or less the
same (modulo memory management, see below) and they're what
you'll actually use for practical programming and if you want to
get a paying job.  (we wouldn't call it work if it was
fun. :-) )

  and at least one of

(2) a Lisp descendant such as Scheme or Common Lisp.  Scheme is
perhaps easier to learn; Common Lisp seems to have more stuff
to get stuff done (although IIRC, drscheme/mzscheme has a pretty
good environment and set of libraries).  Lisp has some
interestingly different ideas about how a programming language
can be designed, like its powerful macros, and although it looks
funny, it's actually not that different from 

(3) one of the strongly typed functional languages, like O'Caml
(an ML descendant) or Haskell.  These are good for learning a
lot of techniques

  I might also through Erlang in there -- from what I've heard it's a
good introduction to concurrent programming.  Sadly I haven't had time
to learn it myself. :-(

  Also: if you want to become a really expert computer programmer, you
really MUST become proficient in C or C++ at some point.  (and when I
say C++, I mean C with objects, not insane template library hiding
everything in the computer from you, despite my love of such template
libraries)  They are still the 

Re: Which programming Language

2009-02-08 Thread Boyd Stephen Smith Jr.
On Sunday 08 February 2009 00:17:21 Daryl Styrk wrote:
 How about including recommended reading material along with language
 recommendations and opinions?

I'm bad at this.  I usually grab syntax+API documentation of the web (or a 
language standard, if I can find it) and go from there.
-- 
Boyd Stephen Smith Jr.   ,= ,-_-. =.
b...@iguanasuicide.net   ((_/)o o(\_))
ICQ: 514984 YM/AIM: DaTwinkDaddy `-'(. .)`-'
http://iguanasuicide.net/\_/



signature.asc
Description: This is a digitally signed message part.


Re: Which programming Language

2009-02-08 Thread Micha Feigin
On Sat, 7 Feb 2009 20:27:44 -0500
Celejar cele...@gmail.com wrote:

 On Sat, 7 Feb 2009 15:18:16 +0200
 Micha Feigin mi...@post.tau.ac.il wrote:
 
 ...
 
  be written using these (same goes for python BTW). Take for example
  wicd-client and tomboy. Using 15mb real and 215mb shared for wicd-client
  (python) may be borderline but 32mb/303mb for tomboy (c#) is a bit extreme.
 
 Your shared memory seems high:
 
 $ ps axv | grep wicd-client
 11343 ?Ss 0:02 16  1002 29081 19536  0.9
 python /usr/share/wicd/wicd-client.py 15574 pts/3R+ 0:00  0
 92  3023   720  0.0 grep wicd-client
 

 4302 ?S  9:40208  1169 88594  4432  0.2 python 
/usr/share/wicd/wicd-daemon.py
 4488 ?S  3:06 63  1169 70102  2208  0.1 python 
/usr/share/wicd/monitor.py
 4995 ?Ss 1:59883  1169 214922 11156  0.5 python 
/usr/share/wicd/wicd-client.py

This is on amd64 but it should at most 30% difference, not 600%.  I would be
happy to hear what I'm doing wrong.

 Am I misunderstanding something?
 
 Celejar
 --
 mailmin.sourceforge.net - remote access via secure (OpenPGP) email
 ssuds.sourceforge.net - A Simple Sudoku Solver and Generator
 
 


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-08 Thread Douglas A. Tutty
On Sun, Feb 08, 2009 at 01:17:21AM -0500, Daryl Styrk wrote:
 How about including recommended reading material along with language
 recommendations and opinions?

I did for Ada, and gave the web sites.  There's also a good Ada section
on wikipedia (and a wikibook).

Doug.


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-08 Thread Douglas A. Tutty
On Sun, Feb 08, 2009 at 12:56:48AM -0500, Michael Pobega wrote:
 On Sat, Feb 07, 2009 at 08:20:30PM -0500, Douglas A. Tutty wrote:
  On Sat, Feb 07, 2009 at 11:40:29AM -0500, Michael Pobega wrote:
   On Sat, Feb 07, 2009 at 09:39:20AM -0500, Douglas A. Tutty wrote:
On Fri, Feb 06, 2009 at 06:25:31PM +0100, Abdelkader Belahcene wrote:
 
  This is why I'm transitioning to Ada.  If I have to port anyway, I may
  as well port to a compiled language.  Ada was written as a standard long
  before the first compiler was done, then the compilers had to meet the
  standard.  Ada programs are totally portable from one machine to another
  (unless, of course, you import a non-Ada function that is not the same
  on all machines).  Ada is designed to allow for the long-term
  maintenance of programs.  
 
 
 As true as this is, are there any good libraries written for Ada?

Gnat itself uses a source-based library system.  There are plenty of
specialized libraries available on the web-sites I suggested (and lots
arround elsewhere).  Since there in source form, you can easily audit
them before use.  Debian has several specialized ones (e.g. to use GTK+
to make GUIs) in the repository.

If none of them help, or you need to access libc, just access it
directly:

8-
function gettime return long_integer;
pragma import( C, gettime);
8-

Now you can use gettime as if it were an Ada library.  Since its in the
standard C library, you don't have to specify a special library when you
run gnatmake.

 also, you can just compile your Python code and you won't run into that
 problem.

Someone has a python compiler (*.py to an executable)?  Yes, I know that
python *.py modules get compiled into *.pyc byte-code but that still
has to go through the python interpreter.  Also, what happens in 10
years when I want to make a slight change to a program?

Doug.


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-08 Thread Dave Sherohman
On Fri, Feb 06, 2009 at 11:29:40PM -0500, Napoleon wrote:
 For learning a first language, I would highly recommend PASCAL.  It puts
 you in a straight jacket - but it also forces you to learn good
 programming techniques.  For OO programming, SmallTalk or Java.

If you like Pascal as a learning language (which would make sense, as
that's what the language was designed for), then what about Object
Pascal for OO?  Apparently, Object Pascal has spread beyond Delphi and
there are now free compilers for it available, so you wouldn't be
consigning yourself to vendor lock-in.

-- 
Dave Sherohman
NomadNet, Inc.
http://nomadnetinc.com/


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-08 Thread Kevin

Micha Feigin wrote:

On Fri, 06 Feb 2009 18:25:31 +0100
Abdelkader Belahcene abelahc...@gmail.com wrote:

  

HI,
There are many and many programming languages (mainly : C,C++,java,
Shell, Perl, python, php). which learn and use, in which circonstances
use that language instead of the other.

In many situations we can use anyone, but which is better.

thanks a lot
bela
__





We can't answer that question without knowing what problem you want to solve.

If you are just looking to learn a first language for the fun of it I would go
with c++ with emphasis on object orient paradigms. That is what most jobs look
for and most open source projects use in case you want to help.

On the other hand it's a shitty language with a LOT of pitfalls once you need
to implement things effectively.

  
I agree with Micha - First define what you want to program in the long 
run. If you aspire to becoming a kernel hacker then learn C. If you want 
to write scripts as web robots for screen scraping then you have more 
options but perl is often used here. If you want to write gnome 
applications - C, if KDE then C++


A few notes:

C is the basis of many languages and some people - such as Bruce Eckel 
of Mindview - actually teach C as a preparation to learning C++ and 
Java. C is a good start.


Python is object oriented and as such is useful if you specifically want 
to learn nice, clean object oriented language. However its not a good 
start if you want to then move to another language.


Basic is awful - I started with Basic in the early 80's and it was the 
defacto learning standard - but even then we knew it was awful!


If you want to write dynamic websites then PHP (very C like) or Perl (a 
bit C like) are supported by just about every ISP.



--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org




Re: Which programming Language

2009-02-08 Thread Michael Pobega
On Sun, Feb 08, 2009 at 08:13:13AM -0500, Douglas A. Tutty wrote:
 On Sun, Feb 08, 2009 at 12:56:48AM -0500, Michael Pobega wrote:
  On Sat, Feb 07, 2009 at 08:20:30PM -0500, Douglas A. Tutty wrote:
   On Sat, Feb 07, 2009 at 11:40:29AM -0500, Michael Pobega wrote:
On Sat, Feb 07, 2009 at 09:39:20AM -0500, Douglas A. Tutty wrote:
 On Fri, Feb 06, 2009 at 06:25:31PM +0100, Abdelkader Belahcene wrote:
  
   This is why I'm transitioning to Ada.  If I have to port anyway, I may
   as well port to a compiled language.  Ada was written as a standard long
   before the first compiler was done, then the compilers had to meet the
   standard.  Ada programs are totally portable from one machine to another
   (unless, of course, you import a non-Ada function that is not the same
   on all machines).  Ada is designed to allow for the long-term
   maintenance of programs.  
  
  also, you can just compile your Python code and you won't run into that
  problem.
 
 Someone has a python compiler (*.py to an executable)?  Yes, I know that
 python *.py modules get compiled into *.pyc byte-code but that still
 has to go through the python interpreter.  Also, what happens in 10
 years when I want to make a slight change to a program?
 
 Doug.
 

Well, to be fair, who is really to say the compiler will go missing?
I've never heard of a popular language's compiler/interpretor going
missing, especially considering that every Linux distribution mirrors
it.

I bet that in ten years Debian will still have a legacy package for
Python 2.x interpreters.

-- 
  http://pobega.wordpress.com
http://identica/pobega


signature.asc
Description: Digital signature


Re: Which programming Language

2009-02-08 Thread Andrew Malcolmson
On Sun, Feb 8, 2009 at 8:47 AM, Kevin ke...@cybercolloids.net wrote:
...
 Python is object oriented and as such is useful if you specifically want to
 learn nice, clean object oriented language. However its not a good start if
 you want to then move to another language.

Why would that be?


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-08 Thread Jeff Soules
On Sun, Feb 8, 2009 at 8:13 AM, Douglas A. Tutty dtu...@vianet.ca wrote:

 Someone has a python compiler (*.py to an executable)?  Yes, I know that
 python *.py modules get compiled into *.pyc byte-code but that still
 has to go through the python interpreter.  Also, what happens in 10
 years when I want to make a slight change to a program?

Yeah, both perl [1] and python [2] now have compilers (to executable,
not to bytecode) out there.  You (obviously) lose the
platform-independence with this.  It seems like most of them are a
little clunky -- they wind up importing part of the relevant
interpreter, so I don't know if the resulting executable would run any
faster.

In 10 years, if you want to change the program, you need to change the
source and recompile, just like with C.  The issue is just that the
language is still changing, so there's no guarantee that any compiler
for new hardware will recognize your old language conventions.
That'll throw up the same roadblocks whether you compile a standalone
executable or stick with the interpreted plaintext script file.


[1] http://www.perlmonks.org/?node_id=186402
[2] 
http://effbot.org/pyfaq/how-can-i-create-a-stand-alone-binary-from-a-python-script.htm


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-08 Thread Jochen Schulz
Andrew Malcolmson:
 On Sun, Feb 8, 2009 at 8:47 AM, Kevin ke...@cybercolloids.net wrote:
 ...
 Python is object oriented and as such is useful if you specifically want to
 learn nice, clean object oriented language. However its not a good start if
 you want to then move to another language.
 
 Why would that be?

Because after learning it you wouldn't want to move to another language. :)

J.
-- 
If I could travel through time I would go back to yesterday and
apologise.
[Agree]   [Disagree]
 http://www.slowlydownward.com/NODATA/data_enter2.html


signature.asc
Description: Digital signature


Re: Which programming Language

2009-02-08 Thread Douglas A. Tutty
On Sun, Feb 08, 2009 at 09:49:08AM -0500, Michael Pobega wrote:
 
 Well, to be fair, who is really to say the compiler will go missing?
 I've never heard of a popular language's compiler/interpretor going
 missing, especially considering that every Linux distribution mirrors
 it.
 
 I bet that in ten years Debian will still have a legacy package for
 Python 2.x interpreters.

You assume that upstream will still be maintaining (doing bug and
security fixes) 2.x, and that a DD will be interested in maintaining the
package.  Also, you're assuming that Debian will stil run on whatever
computer hardware I'm using.  I'll have to see what hardware I have that
won't install Lenny.

Doug.


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-08 Thread Douglas A. Tutty
On Sun, Feb 08, 2009 at 11:13:22AM -0500, Jeff Soules wrote:
 On Sun, Feb 8, 2009 at 8:13 AM, Douglas A. Tutty dtu...@vianet.ca wrote:
 
 In 10 years, if you want to change the program, you need to change the
 source and recompile, just like with C.  The issue is just that the
 language is still changing, so there's no guarantee that any compiler
 for new hardware will recognize your old language conventions.
 That'll throw up the same roadblocks whether you compile a standalone
 executable or stick with the interpreted plaintext script file.

Its the changing language that's the issue.  Even C has this problem, in
that when GNU decides to go from libc6 to e.g. libc7 (or libc10), will
the library functions still work or will the source need fixing.

Sure, C has ANSI (ISO) standards, but every compiler (including gcc) has
extensions to it that one almost has to use to get things done.  

With Ada, you don't have to use extensions unless you want to access an
underlying OS (where you would use platform-specific library calls).  If
there is not underlying OS, you write very-platform-specific assembler
routines (or use a package of them written by whoever made the
hardware).  Thus, the only compiler/platform specific (non-portable)
stuff is directly tied to the underlying hardware.  

Ada is also a direct descendant of Pascal, extends it beyond its limits
as a teaching language, fixes problems that were discovered after it was
made, and Ada95 adds the OO stuff (if you want to use OO).

Doug.


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-08 Thread Martin
On Sat, Feb 07, 2009 at 10:24:58PM -0600, Boyd Stephen Smith Jr. wrote:

 Yay! for standards.  It's one of the reasons I recommend C, which
 not only has a backing standard, but also standardized bindings to
 OS level interfaces.  I wish the standard was freely available

http://open-std.org/jtc1/sc22/wg14/www/docs/n869/n869.txt.gz
(n869.pdf.gz and n869.ps.gz also available if you prefer)
This is only draft, not final version.

 and under a free license,

Hehe... You want to change (edit) the standard? :)
I am all for it to be freely available!

 but the fact that it exists puts it ahead of languages without an
 established standard.
 
 It's good to have guarantees written is technical, but readable
 prose instead of the correct behavior being whatever the
 implementation did the first time someone complained it changed.

I am not sure that standards are written in readable prose :)
And C standard is one that leaves many features implementation  
defined, unspecified or undefined!

Here is one example:

#include stdio.h

int main() {
  int x = 5;
  int y, z;
  y = x;
  y += y+++--y;
  printf(x=%d y=%d z=%d\n, x, y, z);
  return 0;
}

Two compiler that I installed on Debian (gcc, tcc) gives different result.

Also standard can have defects too!
Quote from Expert C Programming: Deep C Secret by Peter van der Linden.


Just because it's written down in an international standard doesn't
mean that it's complete, consistent, or even correct. The IEEE POSIX
1003.1-1988 standard (it's an OS standard that defines UNIX-like
behavior) has this fun contradiction:

[A pathname] ... consists of at most PATH_MAX bytes, including the
terminating null character.--section 2.3

PATH_MAX is the maximum number of bytes in a pathname (not a string
length; count excludes a terminating null).--section 2.9.5

So PATH_MAX bytes both includes and does not include the terminating null!

An interpretation was requested, and the answer came back (IEEE Std
1003.1-1988/INT, 1992 Edition, Interpretation number: 15, p. 36) that
it was an inconsistency and both can be right (which is pretty
strange, since the whole point is that both can't be right).

The problem arose because a change at the draft stage wasn't
propagated to all occurrences of the wording. The standards process is
formal and rigid, so it cannot be fixed until an update is approved by
a balloting group.

This kind of error also appears in the C standard in the very first
footnote, which refers to the accompanying Rationale document. In
fact, the Rationale no longer accompanies the C Standard--it was
deleted when ownership of the standard moved to ISO.



Few pages later he write about readability of standard:



True, this whole area in the standard appears to have been rendered
into English from Urdu via Danish by translators who had only a
passing familiarity with any of these tongues, but the standards
committee was having such a good time that it seemed a pity to ruin
their fun by asking for some simpler, clearer rules.



Martin


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-08 Thread John Hasler
Martin writes:
 Hehe... You want to change (edit) the standard?

Perhaps he wants to quote portions of it in another document, or perhaps he
wants to use it as a template for writing a different standard.  What's the
harm, as long as he can't call his derivative the official standard (and he
can't)?
-- 
John Hasler


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-08 Thread Boyd Stephen Smith Jr.
On Sunday 08 February 2009 11:04:42 Martin wrote:
 On Sat, Feb 07, 2009 at 10:24:58PM -0600, Boyd Stephen Smith Jr. wrote:
  Yay! for standards.  It's one of the reasons I recommend C, which
  not only has a backing standard, but also standardized bindings to
  OS level interfaces.  I wish the standard was freely available

 http://open-std.org/jtc1/sc22/wg14/www/docs/n869/n869.txt.gz
 (n869.pdf.gz and n869.ps.gz also available if you prefer)
 This is only draft, not final version.

And very specifically *not* the standard.

  and under a free license,

 Hehe... You want to change (edit) the standard? :)
 I am all for it to be freely available!

I want to be able to print it out and had it to everyone in my class.  I want 
to be able to take notes on it and publish them interspersed with the 
standard.  I want to use it as a base document for an implementation guide to 
be distributed with my implementation.

Yes, I want it under a free license.

  but the fact that it exists puts it ahead of languages without an
  established standard.
 
  It's good to have guarantees written is technical, but readable
  prose instead of the correct behavior being whatever the
  implementation did the first time someone complained it changed.

 I am not sure that standards are written in readable prose :)

It's highly technical, and requires a glossary as part of the document, but I 
do find it generally readable, if not entirely enjoyable.  I do *not* curl up 
with technical manuals while going to bed.  :)

 And C standard is one that leaves many features implementation
 defined, unspecified or undefined!

That's on purpose, for two reasons: (1) to support multiple competing 
implementations, (2) to document where implementations are allowed to differ 
so programmers can avoid them if they so choose.

   y += y+++--y;

This results in implementation-specific behavior since you are modifying a 
single variable twice with no sequence point in between.

   printf(x=%d y=%d z=%d\n, x, y, z);

More implementation-specific behavior as z has not be initialized.

 Two compiler that I installed on Debian (gcc, tcc) gives different result.

Different implementations are allowed to have different behavior in this case.  
It's not a flaw with the standard to support multiple implementations; it's a 
feature.  If the programmer wants consistent results across implementations, 
they can avoid the constructs that the standard says have undefined or 
implementation-specific behavior.

 Also standard can have defects too!

No doubt.  Standards are made by humans and they generally make mistakes.

 [A pathname] ... consists of at most PATH_MAX bytes, including the
 terminating null character.--section 2.3

(1) bytes(pathname, INCLUDE_NULL) = PATH_MAX

 PATH_MAX is the maximum number of bytes in a pathname (not a string
 length; count excludes a terminating null).--section 2.9.5

(2) PATH_MAX = bytes(pathname, EXCLUDE_NULL).

Although, this section is somewhat self-inconsistent the not a string length 
implies includes the terminating null since a string length excludes a 
terminating null.

 So PATH_MAX bytes both includes and does not include the terminating null!

Yes.  ;)

As long as the pseudo-code (1) AND (2) are satisfied the implementation is 
conformant.  

 An interpretation was requested, and the answer came back (IEEE Std
 1003.1-1988/INT, 1992 Edition, Interpretation number: 15, p. 36) that
 it was an inconsistency and both can be right (which is pretty
 strange, since the whole point is that both can't be right).

Both can be correct and are.  Saying X is the maximum of Y means that Y 
cannot be X+1, but it does NOT mean that Y can be X or even X-1.

The relationship you are looking for is called least maximum my 
mathematicians.  And, oddly enough, doesn't exist in some contexts.

 The problem arose because a change at the draft stage wasn't
 propagated to all occurrences of the wording. The standards process is
 formal and rigid, so it cannot be fixed until an update is approved by
 a balloting group.

That happens anytime you need to get a large group to agree to something.

 True, this whole area in the standard appears to have been rendered
 into English from Urdu via Danish by translators who had only a
 passing familiarity with any of these tongues, but the standards
 committee was having such a good time that it seemed a pity to ruin
 their fun by asking for some simpler, clearer rules.

I guess I just don't have as much trouble understanding the technical 
language.  Then again, when I have a question about C/C++ the first thing I 
reach for is a standard, so I have a bit of experience deciphering it.
-- 
Boyd Stephen Smith Jr.   ,= ,-_-. =.
b...@iguanasuicide.net   ((_/)o o(\_))
ICQ: 514984 YM/AIM: DaTwinkDaddy `-'(. .)`-'
http://iguanasuicide.net/\_/



signature.asc
Description: This is a digitally signed message part.


Re: Which programming Language

2009-02-08 Thread Boyd Stephen Smith Jr.
On Sunday 08 February 2009 12:14:20 Douglas A. Tutty wrote:
 Sure, C has ANSI (ISO) standards, but every compiler (including gcc) has
 extensions to it that one almost has to use to get things done.

I disagree that you *have* to use compiler extensions.  It takes discipline, 
but it's possible to write without them.  Most often it not compiler 
extensions, but the need to use a non-standard library that gets me.  
Standards can't cover every use case, and the C/C++ ones don't really cover 
enough.

Plus, it's not like Ada compilers can't have extensions.
-- 
Boyd Stephen Smith Jr.   ,= ,-_-. =.
b...@iguanasuicide.net   ((_/)o o(\_))
ICQ: 514984 YM/AIM: DaTwinkDaddy `-'(. .)`-'
http://iguanasuicide.net/\_/



signature.asc
Description: This is a digitally signed message part.


Re: [POSSIBLE SPAM] Which programming Language

2009-02-07 Thread Magnus Therning
Mitchell Laks wrote:
 On 18:25 Fri 06 Feb , Abdelkader Belahcene wrote:
 HI,
 There are many and many programming languages (mainly : C,C++,java,
 Shell, Perl, python, php). which learn and use, in which circonstances
 use that language instead of the other.

 In many situations we can use anyone, but which is better.
 
 Dons flame retardant hat
 
 Common Lisp!

The only language with an oxymoron for a name ;-)  Any serious person
would of course start with Haskell!

/M

-- 
Magnus Therning (OpenPGP: 0xAB4DFBA4)
magnus@therning.org Jabber: magnus@therning.org
http://therning.org/magnus

Haskell is an even 'redder' pill than Lisp or Scheme.
 -- PaulPotts



signature.asc
Description: OpenPGP digital signature


Re: Which programming Language

2009-02-07 Thread frank
On Fri, 2009-02-06 at 11:44 -0600, Michael Shuler wrote:
 On 02/06/2009 11:25 AM, Abdelkader Belahcene wrote:
  which is better.
 
 Similar to:
 
 what is the best ice cream flavor?

Hagen Dazs - Pralines  Cream

 what is the best car?

Audi TT 3.2 (The new one)

frank


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-07 Thread Micha Feigin
On Fri, 6 Feb 2009 20:45:03 -0600
Boyd Stephen Smith Jr. b...@iguanasuicide.net wrote:

 On Friday 06 February 2009 16:46:13 Nuno Magalhães wrote:
  The fact that it was developed by MS kinda creeps be but it has been
  standardized... 
 
 I understand the distrust of MS, but C# is actually a pretty nice language,
 at least on par with Java.
 

i wouldn't call java nice. It is strict object oriented but sometimes way too
strict making some things a real pain to achieve, at times having to pipe about
five streams to get what you want.

Another issue with java (not sure about how c# works) is that it gets you used
not to worry about memory usage and clearing memory, you just let the runtime
do the garbage collection, and it can bite you in the ass moving to more
hardware related languages.

Another issue is that both of them are memory hogs. May not be and issue for
single run big applications, but things that need to run constantly shouldn't
be written using these (same goes for python BTW). Take for example wicd-client
and tomboy. Using 15mb real and 215mb shared for wicd-client (python) may be
borderline but 32mb/303mb for tomboy (c#) is a bit extreme.

  Is it backward-compatible with C++?
 
 No.
 
  Would you use it
  for cross-platform programming?
 
 C# only compiles to one platform: CLR (Common Language Runtime).  There are 
 implementations of the CLR on a number of platforms, though.

Depends on what cross paltform programing you want to do. For applications such
as jabref (java) it works, for things that need to be efficient I would use
c/c++ with cross platform libraries (wxWidjets is one I like for gui, boost
does a lot of other things, most of the math ones are cross platform)


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-07 Thread Douglas A. Tutty
On Fri, Feb 06, 2009 at 06:25:31PM +0100, Abdelkader Belahcene wrote:
 HI,
 There are many and many programming languages (mainly : C,C++,java,
 Shell, Perl, python, php). which learn and use, in which circonstances
 use that language instead of the other.
 
 In many situations we can use anyone, but which is better.

If you are running on *NIX, the ability to at least read a sh script is
very helpful.  I haven't spent enough time figuring out the syntax of
test (multiple [ with or without spaces); seems too arcane unless you do
it every day.  I use sh the way DOS uses .bat files.  If its more
complicated, I go to something else.

I've done a lot in Python.  I have a lot of python programs.  The new
version of python will change the print statement to a print function
(among other language changes) which will mean porting old stuff to new.
Yuck.

If you want to do system programming on *NIX, you'll need C.  Even if
you use another language, you'll end up using C library functions
(importing or whatever) so you'd at least want to understand the syntax
examples in the man pages (manpages-dev).

If you want to learn for a job, ask some employers.  

If you want to lean for your self, I'd suggest Ada.

Ada can do simple stuff.  Ada can do anything that any other language
can do.  Ada can do OO if you want.  There are excellent books available
free on-line (www.adahome.com, www.adaic.org, www.adapower.com).

Contrary to popular belief, it was not designed by committee.  It was
chosen by committee after a competition.  The US military wanted to
reduce the thousands of different languages and dialects used in its
software (for everything from mainframe to imbedded) and wanted a single
lanugage that could do everything.  The winning team started with Pascal
(which itself was designed to teach good programming) and tightened it
up, extended it, etc.  They looked at all the different domains (usages)
for the desired language and ensured that it would be efficient (for
both the programmer and the machine) in all of them.  

Compiling is a one-step process.  If your source code is in foo.adb

$ adamake foo.adb

gives you your executable, assuming that you didn't make any errors that
would be caught at compile time.  One of the design goals of Ada was
that errors would get propogated to compile time to reduce the number of
run-time errors, but also that logic errors would get propogated to
run-time errors rather than have the program produce garbage.

There are bindings (add-ons) for GUI, database (sql) interfacing,
whatever.  

The compiler is part of gcc, known as gnat.

I have a document (I likely got it from one of the web sites noted
above, but I forget) caled Understanding Programming Languages by M.
Ben-Ari c 2006 originally published by John Wiley  Sons.  If you
can't find it on-line, I could email it and the other docs I have (I
could tarball it all up); just contact me off-list.

Have fun.

Doug.


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: [POSSIBLE SPAM] Which programming Language

2009-02-07 Thread Boyd Stephen Smith Jr.
On Saturday 07 February 2009 02:50:09 Magnus Therning wrote:
 Mitchell Laks wrote:
  Common Lisp!
 The only language with an oxymoron for a name ;-)  Any serious person
 would of course start with Haskell!

Woohoo!

Going through the Wizard Book and doing all the exercises in Haskell instead 
of MIT Scheme would give you an amazing foundation, but make you hate C/C++ 
forever.
-- 
Boyd Stephen Smith Jr.   ,= ,-_-. =.
b...@iguanasuicide.net   ((_/)o o(\_))
ICQ: 514984 YM/AIM: DaTwinkDaddy `-'(. .)`-'
http://iguanasuicide.net/\_/



signature.asc
Description: This is a digitally signed message part.


Re: Which programming Language

2009-02-07 Thread Michael Pobega
On Sat, Feb 07, 2009 at 09:39:20AM -0500, Douglas A. Tutty wrote:
 On Fri, Feb 06, 2009 at 06:25:31PM +0100, Abdelkader Belahcene wrote:
  HI,
  There are many and many programming languages (mainly : C,C++,java,
  Shell, Perl, python, php). which learn and use, in which circonstances
  use that language instead of the other.
  
  In many situations we can use anyone, but which is better.
 
 If you are running on *NIX, the ability to at least read a sh script is
 very helpful.  I haven't spent enough time figuring out the syntax of
 test (multiple [ with or without spaces); seems too arcane unless you do
 it every day.  I use sh the way DOS uses .bat files.  If its more
 complicated, I go to something else.
 
 I've done a lot in Python.  I have a lot of python programs.  The new
 version of python will change the print statement to a print function
 (among other language changes) which will mean porting old stuff to new.
 Yuck.
 

Doug, from what I understand the new version of Python won't replace
Python 2.x, but instead it will be somewhat of a fork -- there are still
plans for development of a Python 2.7, as to not break compatibility
while still allowing for improvements (though, it is suggested that you
port everything to new)

-- 
  http://pobega.wordpress.com
http://identica/pobega


signature.asc
Description: Digital signature


Re: Which programming Language

2009-02-07 Thread Michael Madden

Abdelkader Belahcene wrote:

HI,
There are many and many programming languages (mainly : C,C++,java,
Shell, Perl, python, php). which learn and use, in which circonstances
use that language instead of the other.

In many situations we can use anyone, but which is better.

thanks a lot
bela
__




You may want to read the following article.  It compares C, C++, Java, 
Python, and Perl.


http://www.linuxjournal.com/article/4402


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org




Re: Which programming Language

2009-02-07 Thread Douglas A. Tutty
On Sat, Feb 07, 2009 at 11:40:29AM -0500, Michael Pobega wrote:
 On Sat, Feb 07, 2009 at 09:39:20AM -0500, Douglas A. Tutty wrote:
  On Fri, Feb 06, 2009 at 06:25:31PM +0100, Abdelkader Belahcene wrote:
 
  I've done a lot in Python.  I have a lot of python programs.  The new
  version of python will change the print statement to a print function
  (among other language changes) which will mean porting old stuff to new.
  Yuck.
  
 
 Doug, from what I understand the new version of Python won't replace
 Python 2.x, but instead it will be somewhat of a fork -- there are still
 plans for development of a Python 2.7, as to not break compatibility
 while still allowing for improvements (though, it is suggested that you
 port everything to new)
 
Yes, I understand that there will be a substantial overlap period,
however, this means that while I'm maintaining old stuff and writing
new, I have to remember which dialect I'm using.  Sort of like having
two different FORTRAN compliers in one shop.

This is why I'm transitioning to Ada.  If I have to port anyway, I may
as well port to a compiled language.  Ada was written as a standard long
before the first compiler was done, then the compilers had to meet the
standard.  Ada programs are totally portable from one machine to another
(unless, of course, you import a non-Ada function that is not the same
on all machines).  Ada is designed to allow for the long-term
maintenance of programs.  

Which is another issue.  I still have Fortran77 code in production.
Fortran77 won't change.  In 15 years, there may not be a 2.x python
interpreter available (i.e. maintained for security issues).  If I stuck
with python, in 15 years I'd still have to remember how to code in 2.x
and 3.x (and 4.x?).  In 15 years, Ada95 will still be Ada95.

Think how long sh scripts have been around.  You could take the first sh
script and run it today unmodified.  When your software has a long
lifespan, there's a lot to be said for it to be written in a language
with a standard behind it.

Doug.


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-07 Thread Celejar
On Sat, 7 Feb 2009 15:18:16 +0200
Micha Feigin mi...@post.tau.ac.il wrote:

...

 be written using these (same goes for python BTW). Take for example 
 wicd-client
 and tomboy. Using 15mb real and 215mb shared for wicd-client (python) may be
 borderline but 32mb/303mb for tomboy (c#) is a bit extreme.

Your shared memory seems high:

$ ps axv | grep wicd-client
11343 ?Ss 0:02 16  1002 29081 19536  0.9 python 
/usr/share/wicd/wicd-client.py
15574 pts/3R+ 0:00  092  3023   720  0.0 grep wicd-client

Am I misunderstanding something?

Celejar
--
mailmin.sourceforge.net - remote access via secure (OpenPGP) email
ssuds.sourceforge.net - A Simple Sudoku Solver and Generator


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-07 Thread Boyd Stephen Smith Jr.
On Saturday 07 February 2009 19:20:30 Douglas A. Tutty wrote:
 This is why I'm transitioning to Ada.
 Ada was written as a standard long
 before the first compiler was done, then the compilers had to meet the
 standard.  Ada programs are totally portable from one machine to another
 (unless, of course, you import a non-Ada function that is not the same
 on all machines).

 I still have Fortran77 code in production.
 Fortran77 won't change.
 In 15 years, Ada95 will still be Ada95.

 Think how long sh scripts have been around.  You could take the first sh
 script and run it today unmodified.  When your software has a long
 lifespan, there's a lot to be said for it to be written in a language
 with a standard behind it.

Yay! for standards.  It's one of the reasons I recommend C, which not only has 
a backing standard, but also standardized bindings to OS level interfaces.  I 
wish the standard was freely available and under a free license, but the fact 
that it exists puts it ahead of languages without an established standard.

It's good to have guarantees written is technical, but readable prose instead 
of the correct behavior being whatever the implementation did the first time 
someone complained it changed.
-- 
Boyd Stephen Smith Jr.   ,= ,-_-. =.
b...@iguanasuicide.net   ((_/)o o(\_))
ICQ: 514984 YM/AIM: DaTwinkDaddy `-'(. .)`-'
http://iguanasuicide.net/\_/



signature.asc
Description: This is a digitally signed message part.


Re: Which programming Language

2009-02-07 Thread Michael Pobega
On Sat, Feb 07, 2009 at 08:20:30PM -0500, Douglas A. Tutty wrote:
 On Sat, Feb 07, 2009 at 11:40:29AM -0500, Michael Pobega wrote:
  On Sat, Feb 07, 2009 at 09:39:20AM -0500, Douglas A. Tutty wrote:
   On Fri, Feb 06, 2009 at 06:25:31PM +0100, Abdelkader Belahcene wrote:
  
   I've done a lot in Python.  I have a lot of python programs.  The new
   version of python will change the print statement to a print function
   (among other language changes) which will mean porting old stuff to new.
   Yuck.
   
  
  Doug, from what I understand the new version of Python won't replace
  Python 2.x, but instead it will be somewhat of a fork -- there are still
  plans for development of a Python 2.7, as to not break compatibility
  while still allowing for improvements (though, it is suggested that you
  port everything to new)
  
 Yes, I understand that there will be a substantial overlap period,
 however, this means that while I'm maintaining old stuff and writing
 new, I have to remember which dialect I'm using.  Sort of like having
 two different FORTRAN compliers in one shop.
 
 This is why I'm transitioning to Ada.  If I have to port anyway, I may
 as well port to a compiled language.  Ada was written as a standard long
 before the first compiler was done, then the compilers had to meet the
 standard.  Ada programs are totally portable from one machine to another
 (unless, of course, you import a non-Ada function that is not the same
 on all machines).  Ada is designed to allow for the long-term
 maintenance of programs.  
 
 Which is another issue.  I still have Fortran77 code in production.
 Fortran77 won't change.  In 15 years, there may not be a 2.x python
 interpreter available (i.e. maintained for security issues).  If I stuck
 with python, in 15 years I'd still have to remember how to code in 2.x
 and 3.x (and 4.x?).  In 15 years, Ada95 will still be Ada95.
 
 Think how long sh scripts have been around.  You could take the first sh
 script and run it today unmodified.  When your software has a long
 lifespan, there's a lot to be said for it to be written in a language
 with a standard behind it.
 
 Doug.
 
 

As true as this is, are there any good libraries written for Ada?

also, you can just compile your Python code and you won't run into that
problem.

-- 
  http://pobega.wordpress.com
http://identica/pobega


signature.asc
Description: Digital signature


Re: Which programming Language

2009-02-07 Thread Daryl Styrk
How about including recommended reading material along with language
recommendations and opinions?


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Which programming Language

2009-02-06 Thread Abdelkader Belahcene
HI,
There are many and many programming languages (mainly : C,C++,java,
Shell, Perl, python, php). which learn and use, in which circonstances
use that language instead of the other.

In many situations we can use anyone, but which is better.

thanks a lot
bela
__


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-06 Thread Michael Shuler
On 02/06/2009 11:25 AM, Abdelkader Belahcene wrote:
 which is better.

Similar to:

what is the best ice cream flavor?
what is the best car?

:)
-- 
Kind Regards,
Michael Shuler


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-06 Thread Antonio Macchi

In many situations we can use anyone, but which is better.



in this situation, maybe, scripting languages is better
(no waste time for compilations...)


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org




Re: Which programming Language

2009-02-06 Thread Javier

Abdelkader Belahcene escribió:

HI,
There are many and many programming languages (mainly : C,C++,java,
Shell, Perl, python, php). which learn and use, in which circonstances
use that language instead of the other.

In many situations we can use anyone, but which is better.


For learning purpuses, Python and Basic. But when you finish learning 
it, the continue with C, Perl, Pascal, even Lisp.
A programmer must know several languages. I don't know of any 
professional programmer who does know only one.


Which is better? For text processing, Perl, for driver programming, C, 
for applications it depends, it can be Python if you don't need it fast, 
or C++, Pascal, if you need it faster...


So start with Python or Basic (search for Gambas IDE).


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: [POSSIBLE SPAM] Which programming Language

2009-02-06 Thread Mitchell Laks
On 18:25 Fri 06 Feb , Abdelkader Belahcene wrote:
 HI,
 There are many and many programming languages (mainly : C,C++,java,
 Shell, Perl, python, php). which learn and use, in which circonstances
 use that language instead of the other.
 
 In many situations we can use anyone, but which is better.

Dons flame retardant hat

Common Lisp!

mitchell


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: [POSSIBLE SPAM] Which programming Language

2009-02-06 Thread Sam Kuper
2009/2/6 Mitchell Laks ml...@post.harvard.edu:
 On 18:25 Fri 06 Feb , Abdelkader Belahcene wrote:
 In many situations we can use anyone, but which is better.

 Dons flame retardant hat

 Common Lisp!

Puts on tinfoil underpants

Scheme!


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-06 Thread Jeff Soules
 So start with Python or Basic (search for Gambas IDE).

I hear that Python is an excellent learning language.  However, I
think that Basic might be less useful for this, simply because it's
very different from the major language families and (last I heard)
still relied on some features that teach bad habits.  Also, I do not
believe Basic is used very much in the Unix/Linux world; it might be
more useful if you intend to work with Windows a lot.

If you are comfortable with how the insides of a computer work (mainly
with memory), then actually I would encourage you to learn C early on.
 (If you are not comfortable with how the insides of a computer work,
you should become comfortable; you'll need to know soon enough.)

C has a few features (variable and function declarations, strict type
checking) that are good reinforcement when starting out, and learning
C syntax will set you up well to learn C++, Java, and Perl as you
progress.


On Fri, Feb 6, 2009 at 1:14 PM, Javier javu...@gmail.com wrote:
 Abdelkader Belahcene escribió:

 HI,
 There are many and many programming languages (mainly : C,C++,java,
 Shell, Perl, python, php). which learn and use, in which circonstances
 use that language instead of the other.

 In many situations we can use anyone, but which is better.

 For learning purpuses, Python and Basic. But when you finish learning it,
 the continue with C, Perl, Pascal, even Lisp.
 A programmer must know several languages. I don't know of any professional
 programmer who does know only one.

 Which is better? For text processing, Perl, for driver programming, C, for
 applications it depends, it can be Python if you don't need it fast, or C++,
 Pascal, if you need it faster...

 So start with Python or Basic (search for Gambas IDE).


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: [POSSIBLE SPAM] Which programming Language

2009-02-06 Thread Dotan Cohen
2009/2/6 Sam Kuper sam.ku...@uclmail.net:
 2009/2/6 Mitchell Laks ml...@post.harvard.edu:
 On 18:25 Fri 06 Feb , Abdelkader Belahcene wrote:
 In many situations we can use anyone, but which is better.

 Dons flame retardant hat

 Common Lisp!

 Puts on tinfoil underpants

 Scheme!


Slips into nomex jumpsuit

Assembler!

-- 
Dotan Cohen

http://what-is-what.com
http://gibberish.co.il

א-ב-ג-ד-ה-ו-ז-ח-ט-י-ך-כ-ל-ם-מ-ן-נ-ס-ע-ף-פ-ץ-צ-ק-ר-ש-ת
ا-ب-ت-ث-ج-ح-خ-د-ذ-ر-ز-س-ش-ص-ض-ط-ظ-ع-غ-ف-ق-ك-ل-م-ن-ه‍-و-ي
А-Б-В-Г-Д-Е-Ё-Ж-З-И-Й-К-Л-М-Н-О-П-Р-С-Т-У-Ф-Х-Ц-Ч-Ш-Щ-Ъ-Ы-Ь-Э-Ю-Я
а-б-в-г-д-е-ё-ж-з-и-й-к-л-м-н-о-п-р-с-т-у-ф-х-ц-ч-ш-щ-ъ-ы-ь-э-ю-я
ä-ö-ü-ß-Ä-Ö-Ü


Re: Which programming Language

2009-02-06 Thread Eugene V. Lyubimkin
Jeff Soules wrote:
 So start with Python or Basic (search for Gambas IDE).
 
 I hear that Python is an excellent learning language.  However, I
 think that Basic might be less useful for this, simply because it's
 very different from the major language families and (last I heard)
 still relied on some features that teach bad habits.  Also, I do not
 believe Basic is used very much in the Unix/Linux world; it might be
 more useful if you intend to work with Windows a lot.
 
 If you are comfortable with how the insides of a computer work (mainly
 with memory), then actually I would encourage you to learn C early on.
  (If you are not comfortable with how the insides of a computer work,
 you should become comfortable; you'll need to know soon enough.)
 
 C has a few features (variable and function declarations, strict type
 checking) that are good reinforcement when starting out, and learning
 C syntax will set you up well to learn C++, Java, and Perl as you
 progress.
Don't include Perl here, it has much different concepts than C/C++/Java.

-- 
Eugene V. Lyubimkin aka JackYF, JID: jackyf.devel(maildog)gmail.com
C++/Perl developer, Debian Maintainer



signature.asc
Description: OpenPGP digital signature


Re: Which programming Language

2009-02-06 Thread Dotan Cohen
 Don't include Perl here, it has much different concepts than C/C++/Java.


But the mention of Basic was OK?!?

-- 
Dotan Cohen

http://what-is-what.com
http://gibberish.co.il

א-ב-ג-ד-ה-ו-ז-ח-ט-י-ך-כ-ל-ם-מ-ן-נ-ס-ע-ף-פ-ץ-צ-ק-ר-ש-ת
ا-ب-ت-ث-ج-ح-خ-د-ذ-ر-ز-س-ش-ص-ض-ط-ظ-ع-غ-ف-ق-ك-ل-م-ن-ه‍-و-ي
А-Б-В-Г-Д-Е-Ё-Ж-З-И-Й-К-Л-М-Н-О-П-Р-С-Т-У-Ф-Х-Ц-Ч-Ш-Щ-Ъ-Ы-Ь-Э-Ю-Я
а-б-в-г-д-е-ё-ж-з-и-й-к-л-м-н-о-п-р-с-т-у-ф-х-ц-ч-ш-щ-ъ-ы-ь-э-ю-я
ä-ö-ü-ß-Ä-Ö-Ü


Re: Which programming Language

2009-02-06 Thread Javier

Jeff Soules escribió:

So start with Python or Basic (search for Gambas IDE).


I hear that Python is an excellent learning language.  However, I
think that Basic might be less useful for this, simply because it's
very different from the major language families and (last I heard)
still relied on some features that teach bad habits.  Also, I do not
believe Basic is used very much in the Unix/Linux world; it might be
more useful if you intend to work with Windows a lot.


Well, Gambas is a very good Basic environment for learning, and it is 
included in Debian (just go to Synaptic and download it).
My point is not that he should not learn C... I think he must learn C if 
we want to program seriusly. My point is that Python and Basic should be 
very good for getting started. Then, jumping to C would be much easier






If you are comfortable with how the insides of a computer work (mainly
with memory), then actually I would encourage you to learn C early on.
 (If you are not comfortable with how the insides of a computer work,
you should become comfortable; you'll need to know soon enough.)

C has a few features (variable and function declarations, strict type
checking) that are good reinforcement when starting out, and learning
C syntax will set you up well to learn C++, Java, and Perl as you
progress.




--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-06 Thread jatos . software
I have to say, if you want to get into programming seriously DO NOT start with 
Python or BASIC. Why? Because their syntax is very different to the languages 
(such as C) used for more mainstream purposes. If start with Python or BASIC 
your going to have a much harder time learning C, which is what most programs 
are written in. Also things like Java and PHP use a syntax that's very C likeM

So I very strongly advise, speaking as somebody who learn't BASIC and regretted 
it frankly, don't learn BASIC unless that's all you intend to ever use. C will, 
PHP or Java will be a lot better places to start. C will be the most difficult 
but also the most useful.

Jamie
Sent from my BlackBerry® wireless device

-Original Message-
From: Eugene V. Lyubimkin jackyf.de...@gmail.com

Date: Fri, 06 Feb 2009 22:10:40 
To: Jeff Soulessou...@gmail.com
Cc: debian-user@lists.debian.org
Subject: Re: Which programming Language


Jeff Soules wrote:
 So start with Python or Basic (search for Gambas IDE).
 
 I hear that Python is an excellent learning language.  However, I
 think that Basic might be less useful for this, simply because it's
 very different from the major language families and (last I heard)
 still relied on some features that teach bad habits.  Also, I do not
 believe Basic is used very much in the Unix/Linux world; it might be
 more useful if you intend to work with Windows a lot.
 
 If you are comfortable with how the insides of a computer work (mainly
 with memory), then actually I would encourage you to learn C early on.
  (If you are not comfortable with how the insides of a computer work,
 you should become comfortable; you'll need to know soon enough.)
 
 C has a few features (variable and function declarations, strict type
 checking) that are good reinforcement when starting out, and learning
 C syntax will set you up well to learn C++, Java, and Perl as you
 progress.
Don't include Perl here, it has much different concepts than C/C++/Java.

-- 
Eugene V. Lyubimkin aka JackYF, JID: jackyf.devel(maildog)gmail.com
C++/Perl developer, Debian Maintainer




Re: [POSSIBLE SPAM] Which programming Language

2009-02-06 Thread Sebastian Günther
* Dotan Cohen (dotanco...@gmail.com) [06.02.09 21:13]:
 2009/2/6 Sam Kuper sam.ku...@uclmail.net:
  2009/2/6 Mitchell Laks ml...@post.harvard.edu:
  On 18:25 Fri 06 Feb , Abdelkader Belahcene wrote:
  In many situations we can use anyone, but which is better.
 
  Dons flame retardant hat
 
  Common Lisp!
 
  Puts on tinfoil underpants
 
  Scheme!
 
 
 Slips into nomex jumpsuit
 
 Assembler!
 

tigthens his iron gloves
Brainfuck!

-- 
  Religion ist das Opium des Volkes.   Karl Marx

 s...@sti@N GÜNTHER mailto:sam...@guenther-roetgen.de


pgpRA9dwOTE8N.pgp
Description: PGP signature


Re: Which programming Language

2009-02-06 Thread Eugene V. Lyubimkin
Dotan Cohen wrote:
 Don't include Perl here, it has much different concepts than C/C++/Java.

 
 But the mention of Basic was OK?!?
 
I don't care much with it :).

-- 
Eugene V. Lyubimkin aka JackYF, JID: jackyf.devel(maildog)gmail.com
C++/Perl developer, Debian Maintainer



signature.asc
Description: OpenPGP digital signature


Re: Which programming Language

2009-02-06 Thread Micha Feigin
On Fri, 06 Feb 2009 18:25:31 +0100
Abdelkader Belahcene abelahc...@gmail.com wrote:

 HI,
 There are many and many programming languages (mainly : C,C++,java,
 Shell, Perl, python, php). which learn and use, in which circonstances
 use that language instead of the other.
 
 In many situations we can use anyone, but which is better.
 
 thanks a lot
 bela
 __
 
 

We can't answer that question without knowing what problem you want to solve.

If you are just looking to learn a first language for the fun of it I would go
with c++ with emphasis on object orient paradigms. That is what most jobs look
for and most open source projects use in case you want to help.

On the other hand it's a shitty language with a LOT of pitfalls once you need
to implement things effectively.


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-06 Thread Micha Feigin
On Fri, 06 Feb 2009 19:14:45 +0100
Javier javu...@gmail.com wrote:

 Abdelkader Belahcene escribiף:
  HI,
  There are many and many programming languages (mainly : C,C++,java,
  Shell, Perl, python, php). which learn and use, in which circonstances
  use that language instead of the other.
  
  In many situations we can use anyone, but which is better.
 
 For learning purpuses, Python and Basic. But when you finish learning 
 it, the continue with C, Perl, Pascal, even Lisp.
 A programmer must know several languages. I don't know of any 
 professional programmer who does know only one.
 
 Which is better? For text processing, Perl, for driver programming, C, 
 for applications it depends, it can be Python if you don't need it fast, 
 or C++, Pascal, if you need it faster...
 

And fortran is great if you want to do math

 So start with Python or Basic (search for Gambas IDE).
 
 


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-06 Thread Micha Feigin
On Fri, 06 Feb 2009 22:10:40 +0200
Eugene V. Lyubimkin jackyf.de...@gmail.com wrote:

 Jeff Soules wrote:
  So start with Python or Basic (search for Gambas IDE).
  
  I hear that Python is an excellent learning language.  However, I
  think that Basic might be less useful for this, simply because it's
  very different from the major language families and (last I heard)
  still relied on some features that teach bad habits.  Also, I do not
  believe Basic is used very much in the Unix/Linux world; it might be
  more useful if you intend to work with Windows a lot.
  
  If you are comfortable with how the insides of a computer work (mainly
  with memory), then actually I would encourage you to learn C early on.
   (If you are not comfortable with how the insides of a computer work,
  you should become comfortable; you'll need to know soon enough.)
  
  C has a few features (variable and function declarations, strict type
  checking) that are good reinforcement when starting out, and learning
  C syntax will set you up well to learn C++, Java, and Perl as you
  progress.
 Don't include Perl here, it has much different concepts than C/C++/Java.
 

And allows for some of the dirtiest programming possible. Start with something
more strict


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-06 Thread jatos . software
I would think best actually if he trys some php scripting, gets him use to the 
basic syntax likes of c uses and generally gives him practice.

That should then put him in good stead for learning C, which isn't easy to 
learn...
Sent from my BlackBerry® wireless device

-Original Message-
From: Micha Feigin mi...@post.tau.ac.il

Date: Fri, 6 Feb 2009 23:47:49 
To: debian-user@lists.debian.org
Subject: Re: Which programming  Language


On Fri, 06 Feb 2009 18:25:31 +0100
Abdelkader Belahcene abelahc...@gmail.com wrote:

 HI,
 There are many and many programming languages (mainly : C,C++,java,
 Shell, Perl, python, php). which learn and use, in which circonstances
 use that language instead of the other.
 
 In many situations we can use anyone, but which is better.
 
 thanks a lot
 bela
 __
 
 

We can't answer that question without knowing what problem you want to solve.

If you are just looking to learn a first language for the fun of it I would go
with c++ with emphasis on object orient paradigms. That is what most jobs look
for and most open source projects use in case you want to help.

On the other hand it's a shitty language with a LOT of pitfalls once you need
to implement things effectively.


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-06 Thread Michal R. Hoffmann

On 06/02/09 21:40, jatos.softw...@gmail.com wrote:

I have to say, if you want to get into programming seriously DO NOT start with 
Python or BASIC. Why? Because their syntax is very different to the languages 
(such as C) used for more mainstream purposes. If start with Python or BASIC 
your going to have a much harder time learning C, which is what most programs 
are written in. Also things like Java and PHP use a syntax that's very C likeM

So I very strongly advise, speaking as somebody who learn't BASIC and regretted 
it frankly, don't learn BASIC unless that's all you intend to ever use. C will, 
PHP or Java will be a lot better places to start. C will be the most difficult 
but also the most useful.

Jamie


C# may be a good alternative. It's similar in many ways to C++, Java, 
Object Pascal (Delphi), rather strict, and quite portable.


--
Kind regards,
Michal R. Hoffmann


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org




Re: Which programming Language

2009-02-06 Thread Nuno Magalhães
I started with Pascal, then C, then C++, then Java.

I'd go for C++ 1st though.

On Fri, Feb 6, 2009 at 10:39 PM, Michal R. Hoffmann misiek_s...@o2.pl wrote:
 C# may be a good alternative. It's similar in many ways to C++, Java, Object
 Pascal (Delphi), rather strict, and quite portable.

The fact that it was developed by MS kinda creeps be but it has been
standardized... Is it backward-compatible with C++? Would you use it
for cross-platform programming?

Nuno Magalhães


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-06 Thread Michael Pobega
On Fri, Feb 06, 2009 at 10:39:58PM +, Michal R. Hoffmann wrote:
 On 06/02/09 21:40, jatos.softw...@gmail.com wrote:
 I have to say, if you want to get into programming seriously DO NOT
 start with Python or BASIC. Why? Because their syntax is very
 different to the languages (such as C) used for more mainstream
 purposes. If start with Python or BASIC your going to have a much
 harder time learning C, which is what most programs are written in.
 Also things like Java and PHP use a syntax that's very C likeM

 So I very strongly advise, speaking as somebody who learn't BASIC and
 regretted it frankly, don't learn BASIC unless that's all you intend
 to ever use. C will, PHP or Java will be a lot better places to
 start. C will be the most difficult but also the most useful.

 Jamie

 C# may be a good alternative. It's similar in many ways to C++, Java,
 Object Pascal (Delphi), rather strict, and quite portable.


I actually consider PHP to be a good starting point for programming;
it's easy to use, and easy to build a GUI around (HTML is exponentially
easier than GTK/Qt/Tk), teaches functional programming, and has C-styled
syntax.

-- 
  http://pobega.wordpress.com
http://identica/pobega


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-06 Thread Mike Bird
On Fri February 6 2009 14:52:06 Michael Pobega wrote:
 I actually consider PHP to be a good starting point for programming;
 it's easy to use, and easy to build a GUI around (HTML is exponentially
 easier than GTK/Qt/Tk), teaches functional programming, and has C-styled
 syntax.

PHP is perhaps the easiest way to build web interfaces.  Unfortunately,
history teaches us that PHP is by far the easiest way to introduce
security holes into web servers.

--Mike Bird


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-06 Thread Robert Baron
For what it is worth:

I would start by learning C.  Basically, C++, java, php, perl, python all
share enough similarities that they are
rather easy to pick up (Yes I know php, perl and python have less in common
which is why I put them later in the list).

Don't worry about if a language has strong or weak types.

The following tools I have found useful for 90% of what I have done
professionally (sort of in the order that I have found
them useful):

C, SQL, vi, cvs, php, ksh, cron, perl

and for certain problems/situations

lisp, ml, prolog.

If you do start with C, I would consider the following books as a good
starting point:
The C Programming Language, Kerrigan and Richie
Expert C Programming, Peter van der linden (?)

The best C++ programming book that I have read is The Design and Evolution
of C++.  Unfortunately, I didn't
find The C++ Programming Language to be useful at all.

Just my 2 cents worth.

On Fri, Feb 6, 2009 at 12:25 PM, Abdelkader Belahcene
abelahc...@gmail.comwrote:

 HI,
 There are many and many programming languages (mainly : C,C++,java,
 Shell, Perl, python, php). which learn and use, in which circonstances
 use that language instead of the other.

 In many situations we can use anyone, but which is better.

 thanks a lot
 bela
 __


 --
 To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
 with a subject of unsubscribe. Trouble? Contact
 listmas...@lists.debian.org




Re: Which programming Language

2009-02-06 Thread Dave Sherohman
On Fri, Feb 06, 2009 at 05:52:06PM -0500, Michael Pobega wrote:
 I actually consider PHP to be a good starting point for programming;
 it's easy to use, and easy to build a GUI around (HTML is exponentially
 easier than GTK/Qt/Tk), teaches functional programming, and has C-styled
 syntax.

Unfortunately, PHP is not merely a very easy language to pick up bad
habits in, the language's design practically encourages them.
Specifically, the core of PHP is code embedded in HTML pages - also
known as mixing logic with presentation.

There definitely are techniques and frameworks available in PHP which do
properly separate presentation from logic but using them takes away much
of the do something in five minutes aspect that appears to be behind
your recommendation.  They're also generally considered to be more
advanced and omitted from beginning materials.

Much better to start with something more strict and learn good habits
first, then apply them to languages which are more permissive, rather
than picking up bad habits from the start.

-- 
Dave Sherohman
NomadNet, Inc.
http://nomadnetinc.com/


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-06 Thread Dave Sherohman
On Fri, Feb 06, 2009 at 11:49:41PM +0200, Micha Feigin wrote:
 On Fri, 06 Feb 2009 22:10:40 +0200
 Eugene V. Lyubimkin jackyf.de...@gmail.com wrote:
  Don't include Perl here, it has much different concepts than C/C++/Java.

Perl is a multi-paradigm language.  It can be written in a very C-like
fashion if you so choose.  (Or in a completely non-C-like fashion...)

 And allows for some of the dirtiest programming possible. Start with something
 more strict

Or just start your Perl with use strict; (and, preferably, use
warnings;, too).  The strict and warnings options are two things
that no beginner (and few non-beginners) should write Perl without, IMO.

-- 
Dave Sherohman
NomadNet, Inc.
http://nomadnetinc.com/


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-06 Thread jatos . software
True, I can see your point there.

I would say, I am in the habit myself of making MVC styled php code. However, I 
also think for a beginner, it would help because learning is as I say much 
easier.

That said, I think would wise for our first time coder to get to know some more 
experienced developers who can slowly amongst other things good habit, i don't 
see any first time dev starting with good habits without assistance. 
Sent from my BlackBerry® wireless device

-Original Message-
From: Dave Sherohman d...@sherohman.org

Date: Fri, 6 Feb 2009 17:52:35 
To: debian-user@lists.debian.org
Subject: Re: Which programming Language


On Fri, Feb 06, 2009 at 05:52:06PM -0500, Michael Pobega wrote:
 I actually consider PHP to be a good starting point for programming;
 it's easy to use, and easy to build a GUI around (HTML is exponentially
 easier than GTK/Qt/Tk), teaches functional programming, and has C-styled
 syntax.

Unfortunately, PHP is not merely a very easy language to pick up bad
habits in, the language's design practically encourages them.
Specifically, the core of PHP is code embedded in HTML pages - also
known as mixing logic with presentation.

There definitely are techniques and frameworks available in PHP which do
properly separate presentation from logic but using them takes away much
of the do something in five minutes aspect that appears to be behind
your recommendation.  They're also generally considered to be more
advanced and omitted from beginning materials.

Much better to start with something more strict and learn good habits
first, then apply them to languages which are more permissive, rather
than picking up bad habits from the start.

-- 
Dave Sherohman
NomadNet, Inc.
http://nomadnetinc.com/


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-06 Thread owens



 Original Message 
From: javu...@gmail.com
To: debian-user@lists.debian.org
Subject: Re: Which programming Language
Date: Fri, 06 Feb 2009 21:47:02 +0100

Jeff Soules escribió:
 So start with Python or Basic (search for Gambas IDE).
 
 I hear that Python is an excellent learning language.  However, I
 think that Basic might be less useful for this, simply because
it's
 very different from the major language families and (last I heard)
 still relied on some features that teach bad habits.  Also, I do
not
 believe Basic is used very much in the Unix/Linux world; it might
be
 more useful if you intend to work with Windows a lot.

Well, Gambas is a very good Basic environment for learning, and it
is 
included in Debian (just go to Synaptic and download it).
My point is not that he should not learn C... I think he must learn
C if 
we want to program seriusly. My point is that Python and Basic
should be 
very good for getting started. Then, jumping to C would be much
easier




 If you are comfortable with how the insides of a computer work
(mainly
 with memory), then actually I would encourage you to learn C early
on.
  (If you are not comfortable with how the insides of a computer
work,
 you should become comfortable; you'll need to know soon enough.)
 
 C has a few features (variable and function declarations, strict
type
 checking) that are good reinforcement when starting out, and
learning
 C syntax will set you up well to learn C++, Java, and Perl as you
 progress.
 
I think you will find that virtually all Engineering Schools teach C
and assembler.  The Computer Science People are more into Java and C++
Larry


-- 
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.d
ebian.org







--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Re: Which programming Language

2009-02-06 Thread Boyd Stephen Smith Jr.
On Friday 06 February 2009 11:25:31 Abdelkader Belahcene wrote:
 There are many and many programming languages (mainly : C,C++,java,
 Shell, Perl, python, php). which learn and use, in which circonstances
 use that language instead of the other.

 In many situations we can use anyone, but which is better.

It depends on the task.  I tend to favor C, but if there's a library that 
saves me work and it's written in C++/Perl/Ruby I'll use that.  I avoid PHP 
because I've been bitten by its brain damage.  I usually only write shell as 
the first prototype or for tasks I'm already doing manually.
-- 
Boyd Stephen Smith Jr.   ,= ,-_-. =.
b...@iguanasuicide.net   ((_/)o o(\_))
ICQ: 514984 YM/AIM: DaTwinkDaddy `-'(. .)`-'
http://iguanasuicide.net/\_/



signature.asc
Description: This is a digitally signed message part.


Re: Which programming Language

2009-02-06 Thread Boyd Stephen Smith Jr.
On Friday 06 February 2009 16:46:13 Nuno Magalhães wrote:
 The fact that it was developed by MS kinda creeps be but it has been
 standardized... 

I understand the distrust of MS, but C# is actually a pretty nice language, at 
least on par with Java.

 Is it backward-compatible with C++?

No.

 Would you use it
 for cross-platform programming?

C# only compiles to one platform: CLR (Common Language Runtime).  There are 
implementations of the CLR on a number of platforms, though.
-- 
Boyd Stephen Smith Jr.   ,= ,-_-. =.
b...@iguanasuicide.net   ((_/)o o(\_))
ICQ: 514984 YM/AIM: DaTwinkDaddy `-'(. .)`-'
http://iguanasuicide.net/\_/



signature.asc
Description: This is a digitally signed message part.


Re: Which programming Language

2009-02-06 Thread Napoleon

Abdelkader Belahcene wrote:

HI,
There are many and many programming languages (mainly : C,C++,java,
Shell, Perl, python, php). which learn and use, in which circonstances
use that language instead of the other.

In many situations we can use anyone, but which is better.

thanks a lot
bela
__




For learning a first language, I would highly recommend PASCAL.  It puts
you in a straight jacket - but it also forces you to learn good
programming techniques.  For OO programming, SmallTalk or Java.

Most of the other languages mentioned here such make it easy for you to
pick up bad habits unless you are working with experienced programmers
who can point out the bad habits.


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org




Re: Which programming Language

2009-02-06 Thread Sam Leon

Abdelkader Belahcene wrote:

HI,
There are many and many programming languages (mainly : C,C++,java,
Shell, Perl, python, php). which learn and use, in which circonstances
use that language instead of the other.

In many situations we can use anyone, but which is better.

thanks a lot
bela
__




I am learning C++ at school and Ruby on my own and things are going 
good.  Ruby is fun!


Sam


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org




Re: Which programming Language

2009-02-06 Thread Mark Allums

Abdelkader Belahcene wrote:

HI,
There are many and many programming languages (mainly : C,C++,java,
Shell, Perl, python, php). which learn and use, in which circonstances
use that language instead of the other.

In many situations we can use anyone, but which is better.

thanks a lot
bela
__




OMG...

If you just want to learn something for the sake of learning, Scheme. 
If you want to do something useful, C.  Or maybe Python or PERL.


Why?  Because I said so.

Mark Allums


--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org 
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org