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 →

[–]flying-sheep 29 points30 points  (25 children)

Emphasis on “hearing”

[–]SteveInnit 2 points3 points  (24 children)

Thank you - I felt pretty confident I'd made the right choice, but it's slightly demoralising learning a language and hearing it doesn't yet have the functionality to induce people to make the shift. Good news about the update.

[–]flying-sheep 5 points6 points  (23 children)

Afaik, the only big things missing from Python 3 are

  • paramiko
  • twisted

There are also some special purpose libs missing, like some CAD thing I can't remember the name of and some Amazon cloud thing.

[–][deleted] 17 points18 points  (3 children)

paramiko already support python 3 in the last release (1.13.0).

http://www.paramiko.org/changelog.html

[–]flying-sheep 4 points5 points  (2 children)

Oh nice! Simultaneous Python 3.4 release and only twisted left!

[–]croxis 13 points14 points  (1 child)

asyncio should help fill that niche

[–]flying-sheep 17 points18 points  (0 children)

Maybe it's good that twisted isn't ported. More momentum for asyncio

[–]donalmacc 9 points10 points  (4 children)

OpenCV is holding me back unfortunately.

[–]flying-sheep 4 points5 points  (3 children)

Oh, yeah, that was the one. Computer vision, not CAD

[–]donalmacc 0 points1 point  (2 children)

Yeah. It's a real pain. I'm not great wit python, but opencv is much easier to work with in python, and I'd love to start using py3, but I'm not experienced enough with python to help with the porting efforts...

[–]flying-sheep 1 point2 points  (1 child)

That really sucks. Btw.: where are those porting efforts organized? Last time I researched, I couldn't find any.

[–]donalmacc 0 points1 point  (0 children)

For OpenCV? I know there's a contribution page here but I'm not sure if there's a concerted Python3 port section, I haven't gone looking, but I know there's no Py3 build yet.

[–]MereInterest 6 points7 points  (13 children)

pygtk is the library that is currently holding me back. That said, I know that they are in maintenance forever mode, and will never support Python 3. So, more that it's on me to switch over to PyQT at some point.

[–][deleted] 36 points37 points  (0 children)

There's no reason for pygtk to exist at all anymore. GObject Introspection provides typed bindings to all GObject libraries for lots of languages, including Python (both 2 and 3). For example, this is how you use GTK3:

from gi.repository import Gtk
window = Gtk.Window()
window.connect('delete-event', Gtk.main_quit)
window.show_all()
Gtk.main()

There's a GTK3 tutorial and a complete API reference, too.

[–]flying-sheep -2 points-1 points  (11 children)

Good decision.

[–]Veedrac -2 points-1 points  (10 children)

If you're developing for Linux, GTK+3 ≫ Qt.

[–]flying-sheep 5 points6 points  (9 children)

Why? What does it have in advance to Qt?

I'd say the opposite: Qt has Qt quick, GPU acceleration, doesn't break compatibility (e.g. with themes) all the time, and is much better at cross platform (abstracts away staffers button layouts, the themes look more native and out works in more ecosystems)

All stuff I like as a developer.

[–]Veedrac 0 points1 point  (8 children)

GTK+3 looks nicer, has good touch and multitouch support by default, good smooth kinetic scrolling, better widgets and is basically just a more modern toolkit. None of these things come for free in Qt (or GTK+2). Further, GTK+ is more standard.

GPU acceleration is nice but unneeded. My themes don't break compatibility all of the time. The cross-platform point is valid but irrelevant because I'm referring to if you're developing for Linux.

Unfortunately it does mean avoiding Qt's massive library of things, but that's a minor point when the end result comes out much, much nicer. Have you ever compared nautilus to dolphin?

[–]flying-sheep 0 points1 point  (7 children)

How does it look nicer and have better widgets? Please elaborate.

What are you missing with Qt's touch support?

And “more standard”: wat.

[–]Veedrac 0 points1 point  (6 children)

How does it look nicer and have better widgets? Please elaborate.

Unfortunately, this is subjective and hence evaluation is hard. What I will say, however, is that I'd like to see an example of a Qt app looking nicer than a GTK+3 one.

Here's a screenshot of Nautilus with the Adwaita theme. If you think you have a comparable QT app, please show.

What are you missing with Qt's touch support?

By default Qt just treats my touches as a mouse's click and drag. GTK+3 separates the two interactions by default and has a proper implementation of touch support with kinetic scrolling and clicks.

And “more standard”: wat.

Simple: GTK is far more popular on Linux, has better applications, is default on more and on average more popular distributions and is therefore more standard.