H
H
HaruAtari2014-05-30 09:29:04
Python
HaruAtari, 2014-05-30 09:29:04

What are alternatives to python for console applications?

Good evening.
Immediately I apologize for the stupid question, I myself do not like such people. But I'm confused.
I need a language for writing all kinds of scripts for personal needs, both very simple and quite false. No gui, just a console application. It will run on Linux, so cross-platform is not critical. If possible, I will start writing sites on it instead of php.
What I would like from a language:
- normal OOP
- multi-threading
- the ability to use it for the web (although not necessary)
- strong typing is highly desirable
What I have already looked at:
- rubyWhat I liked most about this language was the syntax and complete oops. There are also powerful web frameworks. But in terms of NOT the web, it is not very good (judging by the discussions pointed out by Google).
- python Excellent language. Available on almost all Linuxes. A lot of lib. There are also frameworks for the web. But oops it's incomplete. At least I did not find interfaces, abstract classes and private methods out of the box.
- perl I know little about this language. His weak demand repels him. I'm not saying that it is not needed at all, but if compared with previous languages, then this is obvious. Google also points out that it is not all right with multithreading.
- golangInteresting, but without the classic oop. Did not like. Plus, I did not find STABLE and established frameworks for it. Apparently still young.
That's all toil. Like python is a good fit, but stops it under OOP.
Actually, two questions are of interest:
- Is it possible to implement a full-fledged OOP in python?
- What are the alternatives?
I would be grateful for any thoughts.

Answer the question

In order to leave comments, you need to log in

8 answer(s)
S
sim3x, 2014-05-30
@HaruAtari

python
www.stackoverflow.com/a/13646263/1346222

from abc import ABCMeta, abstractmethod

class Abstract(object):
    __metaclass__ = ABCMeta

    @abstractmethod
    def foo(self):
        pass

Abstract()
>>> TypeError: Can not instantiate abstract class Abstract with abstract methods foo

class B(Abstract):
    pass

B()
>>> TypeError: Can not instantiate abstract class B with abstract methods foo

How is an abstract class different from an interface?
https://docs.python.org/2/tutorial/classes.html#pr...
this is not done in interpreted languages, since locks are needed
yes - duck, dynamic, strong

Z
Zhbert, 2014-05-30
@Zhbert

On Linux? Scripts? Bash, everything else is from the evil one.

S
StrangeAttractor, 2014-06-11
@StrangeAttractor

I'll just leave this (David Copeland - Build awesome command-line applications in Ruby 2) here.
I myself am not a rubyist, I write everything in Scala and C #, but it seems to me that one cannot help but recall the existence of a whole book that answers your question.

R
rqnix, 2014-05-30
@zmts

en.wikipedia.org/wiki/%D0%9E%D0%B1%D1%8A%D0%B5%D0%...

A
Alexey Cheremisin, 2014-05-30
@leahch

I'm embarrassed, but www.scala-lang.org fits the bill!

V
v_prom, 2014-05-30
@v_prom

python. interfaces and abstract classes are rolled out by libraries, and private methods are out of the box, just not the ones you are used to in other languages.

M
Mikhail Potanin, 2014-05-30
@potan

Common Lisp
OOP is somewhat different there, but quite OOP.

V
v- death, 2015-11-01
@vGrabko99

golang and no frameworks needed. Everything is from the box

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question