Re: Which programming Language
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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/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
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/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
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
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
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
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
* 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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