473,396 Members | 1,714 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.

Similar programming languages?

Hey everyone,

So I've been programming in Python for about a year, but I think it's time to move on. While I think the language is very clean and elegant, I find its object-oriented design sub par at best. When compared to a "pure" OOP language like Java or C#, a lot of things related to OO seem like hacks. I don't know Python's history, but it seems like it was first made as a procedural language, with OO features sloppily tagged on later. It seems to go against the DRY (don't repeat yourself) philosophy in many instances, such as the explicit self and the lack of true anonymous functions (lambdas don't count). After over a year of coding in Python, these things have started stacking up and becoming annoyances.

Now, I don't want to offend any Python lovers out there. I think it's a great language, but it's just not for me. That said, are there any programming languages out there that are similar to Python in syntax, but with a more robust OO design? JavaScript comes to mind, but just the fact that it's prototype-based versus class-based turns me off. Scala looks good, but it's based on the Java platform (I'd prefer something that's standalone, or in the worst case scenario, based on .NET). Ruby has good features but I hate its syntax.

If not, it's not a big deal, Python works, but I'd prefer working with a language that doesn't need as many of these "hacks".

Thanks in advance!

PS: Sorry if I'm so picky. :)
Jan 3 '09 #1
2 2006
Smygis
126 100+
Well i dont understand what you consider to be a "hack" about the OO in Python. But the only thing i can think of that might fit you description is the D programming language. But then again, you never really get what you want.
Jan 3 '09 #2
Thanks, I'll take a look at it.

Some examples of what I was referring to:
- No true member visibility. You can set private variables by adding an underscore as a prefix, but that just seems like a hack to me.
- The fact that you have to have "self" as one of the arguments to all your methods.
- No static methods (without decorators...again, a hack if you ask me).

But then again, you never really get what you want.
Yeah I know, which is why I'd be perfectly content sticking to Python. I'd just be even happier if I found a better one. In reality, this question was more to satisfy my curiosity than anything, because chances are I'm going to have to stick to Python simply because it's mainstream (more libraries, better support, etc).
Jan 3 '09 #3

Sign in to post your reply or Sign up for a free account.

Similar topics

5
by: Martin | last post by:
When was inheritance intruduced into object oriented programming? More generally, does anyone know or have any sources on when the different features were introduced into object oriented...
3
by: Matt | last post by:
I always heard dialet of programming language. Or implementation of a programming language. What does it really mean? C++ is standardized already, does it mean it doesn't have any dialets? But I...
134
by: evolnet.regular | last post by:
I've been utilising C for lots of small and a few medium-sized personal projects over the course of the past decade, and I've realised lately just how little progress it's made since then. I've...
26
by: Kanthi Kiran Narisetti | last post by:
Hi ALL, I am new to C and programming . I need suggestions for the IDE to be used as a begginer and should I start on Windows or Linux ?? I am also looking for resources for C programming on...
6
by: bambooforest | last post by:
Hi all, I'm from a Linguistics background and am new(er) to programming. Could someone recommend a book or resource that teaches programming aspects with Python? Python I hear is a very...
7
by: Robert Seacord | last post by:
The CERT/CC has just deployed a new web site dedicated to developing secure coding standards for the C programming language, C++, and eventually other programming language. We have already...
14
by: deko | last post by:
For building Windows desktop apps, the clear favorite is C#. But my clients can't afford to buy Microsoft products. So I need to develop software for Linux users and web applications. In the...
139
by: Joe Mayo | last post by:
I think I become more and more alone... Everybody tells me that C++ is better, because once a project becomes very large, I should be happy that it has been written in C++ and not C. I'm the only...
151
by: istillshine | last post by:
There are many languages around: C++, JAVA, PASCAL, and so on. I tried to learn C++ and JAVA, but ended up criticizing them. Is it because C was my first programming language? I like C...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
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...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
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
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
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
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...

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.