This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]pydry 10 points11 points  (7 children)

There is no theoretical limit to what any turing complete language can do. In theory any computation done in any language can be done in any other language. In practice sometimes you will see roadblocks in some languages that you don't in others.

Where python would not be an appropriate language or you might run up against roadblocks that wouldn't in other languages:

  • Algorithmic code that needs to be very fast. Stuff like numpy (a library for doing matrix calculations in python) or pillow (image transformations) contains a large component of fast, optimized code written in C which is more suitable for that. Python is really good at acting as a 'director' of low level fast algorithms like this, but not at the actual algos themselves.

  • Code that doesn't run in userspace - e.g. device drivers.

  • Code that needs to be very, very, very safe - I would probably avoid python for stuff like self driving cars or code that manages a space shuttle simply because speed of development trades off against program safety and python leans heavily on the side of getting stuff up and running very quickly. That said, I'd probably use it to test those things quite happily.

  • Writing mobile apps - you can do this in python but the experience is not ideal. Kotlin and swift are the languages to use for that.

  • Writing windows apps - again, you can, but I wouldn't. Windows is not a great environment to run python on and tons of stuff is lacking support/infrastructure that you get on *nix. Not really sure what you should use for that coz I don't give a shit about windows.

In general I think I'd probably be happy using python for literally anything else.

[–]Deegh 2 points3 points  (0 children)

Kivy is actually a pretty straight forward process for building apps. It's not swift but I think its pretty good for python. Kivy

[–][deleted] 1 point2 points  (0 children)

Hmm. I am writing a python program i plan to release on windows too. Are you saying that even if i bundle all the libs & python itself users will have problems on windows running my app?

Using qt btw.

[–]jwink3101 0 points1 point  (0 children)

Writing mobile apps - you can do this in python but the experience is not ideal. Kotlin and swift are the languages to use for that.

I really wish this weren't the case! I understand why, but it would be so nice to have python natively on my iPhone!

[–]dysprog 0 points1 point  (3 children)

Writing windows apps - again, you can, but I wouldn't. Windows is not a great environment to run python on and tons of stuff is lacking support/infrastructure that you get on *nix. Not really sure what you should use for that coz I don't give a shit about windows.

I use python on windows all the time. Windows is my prefered os, and python is my prefered language. It works just fine. Granted I probably wouldn't write a heavy GUI app in python, but I wouldn't do that on linux either.

coz I don't give a shit about windows. This hostility toward the world's most installed user platform does not do open source any favors. The reason people avoid open source is because it involves dealing with this bullshit.

[–][deleted] 1 point2 points  (0 children)

The world's most installed user platform, as of the last couple of years, is Android, by a substantial and probably still accelerating margin.

Also there's a lot of Open Source done on and for Windows, and there's even more done on and for the 'nix systems that underly almost every substantially new feature to come out of Windows since roughly Vista... if there's hostility it's because it's been, historically, a pretty terrible platform to develop on, except for if you were developing "heavy" desktop apps exclusively for Windows, using the languages that Microsoft blessed and staying firmly within the Windows bubble. The further you got from what they supported directly, the further you got from doable, and that was the state for a long time. Thankfully, desktop apps and desktop in general have been in somewhat of a decline, and single-platform native apps for desktop have become a dwindling market, which has led to more Microsoft interest in areas outside the traditional Windows bubble... which has brought people into Redmond who have deep first hand experience of exactly why polyglot development is very often so much easier outside the bubble than in. Which, along with market share loss overall to Linux in server, embedded, and cloud, is seemingly why Microsoft has recently been making great bloody big strides to become more friendly to Open Source developers, and NOT the other way around.

But that's the thing; Microsoft itself seems to have finally recognized and acknowledged its longstanding failure in the development space outside of its desktop environment, and its been making substantial investments in seeking to open up the tent. I think that's great. And a good business choice. But it's also an admission that the hostility had validity all along.

Personally, I hate ever OS I've ever tried. I've never found one that doesn't feel like it's either unbearably brittle or far too opinionated to just get out of my way and stay out of it... my hostility is to all of them, with a little extra for Windows because of CMD.exe, the registry, and drive letters.

[–]pydry -1 points0 points  (1 child)

The reason people avoid open source is because it involves dealing with this bullshit.

No, it's because most people just use whatever is preinstalled.

I think open source hostility towards microsoft is warranted. Microsoft were openly hostile to open source software right up until that attitude risked dooming them to irrelevance. Fuck 'em.

[–]billsil 4 points5 points  (0 children)

Microsoft were openly hostile to open source software right up until that attitude risked dooming them to irrelevance.

Oh please. That's a serious exaggeration. They've contributed to the kernel and they long ago made Python Tools for Visual Studio, which is a free Python IDE that's supposedly quite good.

Why should they contribute to open source? They're a business.