473,396 Members | 1,987 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Learning different languages


Hi,

(this is a probably a bit OT here, but comp.lang seems rather
desolated, so I'm not sure I would get an answer there. And right now
I'm in the middle of learning Python anyway so...)

Anyway, my question is: what experience you people have with working
with different languages at the same time?

Actually I did myself many years ago, on my Commodore machines, where
I programmed a lot in both basic, assembler and machine code, and
don't recall I had any problems with handling these parallel. But
then, they are very different languages, so it's not easy to get their
syntax etc. mixed up with each other.

I'm more thinking about Python, PHP, C++, Perl, Euphoria, which are
languages I'm thinking of learning now. They look much more like each
other than basic and MC, at places some even share the exact same
syntax it seems, so your brain might get confused with what language
you're actually working with?

How is your experience with handling these paralell?. And what would
you recommend - take one (or perhaps two) at a time, and then continue
with the next? Or is it OK to go ahead with them all, at once?
Mar 7 '06 #1
14 2141
Rich wrote:
Anyway, my question is: what experience you people have with working
with different languages at the same time?
At any given time, I'm doing a fair amount of Python and C work. I
also do a lot of bash scripting for supporting frameworks. Beyond that
I use a fair number of domain-specific languages depending on the
problem at hand (SQL, XSL, etc). And from the shell I'm often doing
one-offs in sed/awk, etc.
I'm more thinking about Python, PHP, C++, Perl, Euphoria, which are
languages I'm thinking of learning now. They look much more like each
other than basic and MC, at places some even share the exact same
syntax it seems, so your brain might get confused with what language
you're actually working with?
It seems like it's not much of a problem in practice. I will
occasionally find myself using wrong-languages constructs for things so
simple that my brain is on cruise control (a simple for loop or
conditional) but usually catch it before I'm even done typing the line.
And for anything that requires any amount of thought it's just not an
issue.

Interestingly, I do some work on remote servers with minimal support
infrastructure (bare vim w/o syntax highlighting, auto-indent, etc) and
it doesn't seem to hurt much as far as "wrong language" goes. It's
generally more language-independent features that those features help
catch (unbalanced parens, typos, etc).
How is your experience with handling these paralell?. And what would
you recommend - take one (or perhaps two) at a time, and then continue
with the next? Or is it OK to go ahead with them all, at once?


I would probably recommend _learning_ one language at a time until
you're pretty comfortable with the basics. But learning a language (as
opposed to the libraries, which take longer to get familiar with but
are much less likely to be conflated) is a pretty fast process.

Mar 7 '06 #2
Rich wrote:
Anyway, my question is: what experience you people have with working
with different languages at the same time?


IMO, it's a good idea.

Currently, I'm using Python and Ruby. I'll write something in one and
then try it in the other. I know Python better than Ruby, so it's a
learning experience for me. I think it helps me to see things from a
different perspective. I admire both languages and respect their
different approaches to problem solving.

Knowing how to use a couple of different tools will benefit you and
those around you.

Best of Luck!
Brad
Mar 7 '06 #3
On Tuesday 07 March 2006 04:44 pm, Rich wrote:
Anyway, my question is: what experience you people have with working
with different languages at the same time?


Invariably, you will occasionally confuse one with the other, which is
a penalty you already know, I'm sure.

OTOH, it will reduce your bias towards the limitations of one language
over another.

I've been trying to get my kids to learn a little Python for some
time, but it hasn't been too easy for them yet. Then, out of the
blue, they want to learn Lua.

Why?

Simple -- Lua is the extension language for Enigma. So they want to
make new game levels ergo, they must use Lua. Motivation matters
more than ease, IMHO. :-)

We realized recently that while teaching kids to program is hard,
teaching them to *hack* is easy. Once they learn to hack game
levels, they will learn, from the level designers, basics about
scripting and then programming, and they'll start to ask "how
can I make this easier?"

Already, my son asked "is there any way I don't have to type this
line over and over again?" So we learned loops that day. It is
SO much easier to teach a concept when the student is actively
trying to find out, instead of trying to push the idea on them and
come up with justification for why they need to know it. This
way he already knows the problem -- I just have to provide the
solution.

But I don't think I want to try to go full-force into Lua. In some
ways it's similar to Python, but lighter-weight. OTOH, I don't think
I'd want to try to make anything serious with it.

Nevertheless, I find that it's easier to teach them Python at the
same time as they learn Lua. Concepts are similar, and it's not
really that hard to go back and forth. I'm going to continue developing
basic concepts in Lua (embedded in Enigma), and then work with
Python and PyGame to get them making their own programs from
scratch using the concepts they learn through hacking (a project
we've been interested in for some time -- my kids have been making
sprites for a future game for a long time now and are getting
pretty good at that part).

So, I don't think you'll have a real problem with it.

Cheers,
Terry

--
Terry Hancock ( hancock at anansispaceworks.com )
Anansi Spaceworks http://www.anansispaceworks.com
Mar 7 '06 #4
Rich <ri**@addr.invalid> wrote:
Anyway, my question is: what experience you people have with working
with different languages at the same time?
At one point, I was working with Perl, Python, Tcl, and C++ all more or
less at the same time. I just kept crib sheets handy, so I could look up
syntax whenever I needed to. Which was about every time I needed to write
a for loop and didn't have an example handy in the same piece of code to
remind me what I was supposed to type.
I'm more thinking about Python, PHP, C++, Perl, Euphoria, which are
languages I'm thinking of learning now.
This seems like a reasonable set (I've never heard of Euphoria; I'll need
to do some google/wikipedia work tonight on that one :-)). If you're
trying to build a good resume, I'd probably add Java and/or C# to the mix.
Of course, with a list that long, we're probably talking a year or two of
study, unless you plan on doing the most cursory job on each.
How is your experience with handling these paralell?. And what would
you recommend - take one (or perhaps two) at a time, and then continue
with the next? Or is it OK to go ahead with them all, at once?


I try to learn a new language per year. Sometimes it's just a quick glance
(I spent about a day playing with Forth last year), other times it's a
deeper look with a serious project or two (those are generally ones with
resume appeal, but not always). In any case, I think one at a time makes
the most sense.
Mar 8 '06 #5

Rich wrote:
Hi,

(this is a probably a bit OT here, but comp.lang seems rather
desolated, so I'm not sure I would get an answer there. And right now
I'm in the middle of learning Python anyway so...)

Anyway, my question is: what experience you people have with working
with different languages at the same time?


http://www.infoworld.com/article/06/...rategic_1.html

Mar 8 '06 #6
Anyway, my question is: what experience you people have with working
with different languages at the same time?

To me, it makes sense to use the best language for any given task and
that isn't always the same language (great as Python is). Certainly web
developers work in many different languages. A lot of my websites are a
mix of HTML, XML, CSS, Javascript, SQL, PHP, Python, Bash shell scripts,
and various other odds and ends such as Prolog or LISP which make
specific jobs easier. Trying to do everything with one programming
language is like trying to build a house with only a screwdriver.

--
Michael McGlothlin, tech monkey
Tub Monkey
http://www.tubmonkey.com/

Mar 8 '06 #7
>>>>> "Rich" == Rich <ri**@addr.invalid> writes:

Rich> Hi,

Rich> (this is a probably a bit OT here, but comp.lang seems
Rich> rather desolated, so I'm not sure I would get an answer
Rich> there. And right now I'm in the middle of learning Python
Rich> anyway so...)

Rich> Anyway, my question is: what experience you people have with
Rich> working with different languages at the same time?

I think it's akin to speaking multiple human languages.
I find, in the web context, that multiple languages help to understand
where stuff happens.
If it's JavaScript, it's happening in the browser.
If it's (other scripting language), it's on the web server.
If it's SQL, it's on the database server.
I realize that there are other configuration possibilities,
e.g. JavaScript on the web server.
R,
Chris
Mar 8 '06 #8
Rich said :
Hi,

(this is a probably a bit OT here, but comp.lang seems rather
desolated, so I'm not sure I would get an answer there. And right now
I'm in the middle of learning Python anyway so...)

Anyway, my question is: what experience you people have with working
with different languages at the same time?

I am an undergraduate now , majoring in software engineering .I have
learn three lanaguages , c/c++ , java , sql . And now I am taking a
part-time job in a software
corporation which engage in enterprise mail system development . I must
use php to
maintain their web sever page , while I am using perl script to process
the mail message.
Meantime , I am very interested in python too .I can't say I am good at
any one of these,
but I must use all of these at a time . Actually I did myself many years ago, on my Commodore machines, where
I programmed a lot in both basic, assembler and machine code, and
don't recall I had any problems with handling these parallel. But
then, they are very different languages, so it's not easy to get their
syntax etc. mixed up with each other.

Yes , I feel that too . I often use break statement in perl script only
be warned an syntax error ! I'm more thinking about Python, PHP, C++, Perl, Euphoria, which are
languages I'm thinking of learning now. They look much more like each
other than basic and MC, at places some even share the exact same
syntax it seems, so your brain might get confused with what language
you're actually working with?

How is your experience with handling these paralell?. And what would
you recommend - take one (or perhaps two) at a time, and then continue
with the next? Or is it OK to go ahead with them all, at once?

I think when anybody learn a new language , the most important thing is
not the syntax of
that language but the builtin functions and the libraries the language
provide !
My experience is : Learning a language is relatively easy , but being
good at a language is a far more difficult thing!

Regards!
Mar 8 '06 #9
Rich wrote:
Anyway, my question is: what experience you people have with working
with different languages at the same time?


I typically use Python, C++ and SQL. When there's been
lots of Python and little C++, I tend to forget to
terminate C++ statements with semicolon... Otherwise
I seem to keep them apart.

In general, I think Python made me a better C++
programmer. You certainly can't apply all Python ideas
in C++ or vice versa. The languages have different
strengths and weaknesses, and an idiom which is good
in one language might be bad in the other. Still, it
was with Python I learned OOP properly, and since
Python doesn't get in the way as much, using Python
has made it easier to develop as a systems designer
and architect.

SQL is certainly different enough from the other to
prevent any confusion.

Concerning more similar languages, such as Python, PHP
and Perl, I don't really see the point of mastering
several languages that are so similar.

To be honest, learning Python made me never want to touch
Perl again, and learning PHP felt very much like going
backwards, so I didn't get beyond a very superficial
understanding. I feel so much more productive with Python,
and it can handle all the things PHP or Perl handles well
enough. There are certainly cases were PHP would be more
convenient, and a big existing base of Perl code, but I've
managed to get by well with Python anyway.
Mar 8 '06 #10
"gene tani" <ge*******@gmail.com> writes:
Rich wrote:
Hi,

(this is a probably a bit OT here, but comp.lang seems rather
desolated, so I'm not sure I would get an answer there. And right now
I'm in the middle of learning Python anyway so...)

Anyway, my question is: what experience you people have with working
with different languages at the same time?


http://www.infoworld.com/article/06/...rategic_1.html


re the article:

To say Java and Python could use the same libraries misses a) dynamic
programming in python and b) the re-invent-the-wheel ethos of the whole
Java world. Python shares libraries with all other languages when it
does bindings to std libraries. Java almost never does this,
preferring instead to roll-its-own. In its effort to beat MS at is
own lockin game, Java deliberately does not play well with others.
(Not that I'm fond of MS and its .NET lockins either.)

re the OP:

I find I have to concentrate on one language for a while (several
programs) to ramp up on the syntax, semantics, idioms, and libraries.
Then I'm safe to wander off and learn other languages. When it comes
time to do a project, I use one main language unless it really is a
bad match, in which case I write in one of the others. My "one"
language has variously been over the years Pascal, Modula-2, Modula-3,
perl, and Python. Even though I've written substantially in COBOL,
FORTRAN, Lisp, Prolog, and Java, I wouldn't use these for a default
language.

--
Harry George
PLM Engineering Architecture
Mar 8 '06 #11

"Harry George" <ha************@boeing.com> wrote:
"gene tani" <ge*******@gmail.com> writes:
Rich wrote:
> Hi,
>
> (this is a probably a bit OT here, but comp.lang seems rather
> desolated, so I'm not sure I would get an answer there. And right now
> I'm in the middle of learning Python anyway so...)
>
> Anyway, my question is: what experience you people have with working
> with different languages at the same time?


http://www.infoworld.com/article/06/...rategic_1.html


re the article:

To say Java and Python could use the same libraries misses a) dynamic
programming in python and b) the re-invent-the-wheel ethos of the whole
Java world.


Jon Udell talks about Javascript not about Java.
Mar 9 '06 #12

"Terry Hancock" <ha*****@anansispaceworks.com> wrote in message
news:ma***************************************@pyt hon.org...
On Tuesday 07 March 2006 04:44 pm, Rich wrote: I've been trying to get my kids to learn a little Python for some
time, but it hasn't been too easy for them yet. Then, out of the
blue, they want to learn Lua.

Why?

Simple -- Lua is the extension language for Enigma. So they want to
make new game levels ergo, they must use Lua. Motivation matters
more than ease, IMHO. :-)

We realized recently that while teaching kids to program is hard,
teaching them to *hack* is easy. Once they learn to hack game
levels, they will learn, from the level designers, basics about
scripting and then programming, and they'll start to ask "how
can I make this easier?"


Hacking is "The Way" - I learned Z80 assembly language to cheat in Space
Invaders on a Microbee conputer ;-). You can teach them some methods that
make their hacking easier, like debuggers, script tools and all that.

Maybe a Pyhton tool to simplify/generate skeleton code could be a devious
way of getting Python involved?

My son is quite proficient in using a collection of quite hairy build tools
because he likes to build levels for Counter Strike Source. He has no
interest in computers what so ever.
Mar 9 '06 #13

Harry George wrote:

re the OP:

I find I have to concentrate on one language for a while (several
programs) to ramp up on the syntax, semantics, idioms, and libraries.
Then I'm safe to wander off and learn other languages. When it comes
time to do a project, I use one main language unless it really is a
bad match, in which case I write in one of the others. My "one"
language has variously been over the years Pascal, Modula-2, Modula-3,
perl, and Python. Even though I've written substantially in COBOL,
FORTRAN, Lisp, Prolog, and Java, I wouldn't use these for a default
language.


this raises a few issues: how do you keep the syntax of python and
javascript, or python and C clear? At a base level, some combination
of IDE code completion, reference websites (the activestate docs
package for python is fantastically easy to search), Oreilly nutshell
/other books, and quick references / other visual aids. At the next
level, Udell talks about making different languages work similarly if
you need to move functionality between them.

the other is it's hard to avoid having to read, e.g. perl if you're
working in a UNIX shop, lisp if you pick emacs, java/C# if you want to
read about design patterns, javascript, etc. etc. After a while, the
read-only ability segues into some ability to modify others' code,
which segues into writing code.

Mar 9 '06 #14
On Tue, 07 Mar 2006 23:44:56 +0100, Rich <ri**@addr.invalid> wrote:
Well thanks for all your replies.There seem to be general agreement
that it's best to learn one language at a time, which also is what
makes most sense to me.

I'm also glad to hear it's not a big problem to separate the different
languages, in practice. The analogy with different spoken languages
makes sense, yes, I have no problem at all in that respect.

Your additional comments have also thrown some light on issues I
wasn't aware of. So thanks again, your input has been very helpful and
reassuring!

:-)

Rich
Mar 9 '06 #15

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

Similar topics

2
by: jesterp | last post by:
I'm an ME student, trying to write a program to pull data off of a data acquisition board. I'm making good progress, though completly blind. Its been several years since I have written ANY code,...
15
by: John Salerno | last post by:
After my last post, I thought of another question as a result of the following: ------------------------------ Mike Meyer wrote: > John Salerno <johnjsal@NOSPAMgmail.com> writes: > > >>So...
4
by: gustave | last post by:
I would like to be able to get a bit more involved in the coding of Linux. I have not dabbled in programming other than Perl and Bash. So some questions for the experts: Is Linux (kernel and...
3
by: feetdontfailme | last post by:
I have visual basic 6.0 and have worked with visual studio in classwork before. How hard would it be to self teach myself ASP.net? I also have been programming VBA in Access for over 3 years.
26
by: mfasoccer | last post by:
I am sorry if this is an inappropriate place to put this post, if so please delete it. I am wondering about a few things. Do you guys recommend learning C as a second language, as someone who...
18
by: Ann Scharpf via AccessMonster.com | last post by:
I am not sure which would be the best place to post this question, so I'm posing it here with Access general questions. I have reached the point many times in Word and in Access where my ignorance...
14
by: master_programmer | last post by:
Hi I hope that I am posting to the right place. I want to learn programming and am looking at a language too choose. I thought about C++ but my friend told me thats its old fashioned and will...
22
by: -Lost | last post by:
In a recent programming class I was taking, another student went on and on about how C was a dead language. I tried my best to explain why this was not so, but he was more able to explain things...
12
by: Mitch | last post by:
I'm wondering if I'm doing myself a disservice by learning Visual C#, considering it does so much of the work behind the scenes. Should I be learning console apps first? I still haven't found...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

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

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