[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y ] [Home]
4chanarchives logo
I'm falling for the Python meme. Please redpill me.
Images are sometimes not shown due to bandwidth/network limitations. Refreshing the page usually helps.

You are currently reading a thread in /g/ - Technology

Thread replies: 255
Thread images: 26
File: 480px-Python-logo-notext.svg.png (24 KB, 480x480) Image search: [Google]
480px-Python-logo-notext.svg.png
24 KB, 480x480
I'm falling for the Python meme.

Please redpill me.
>>
>>51807956
DEDICATED
WHITESPACE
LANGUAGE
>>
>>51807956
Just don't try coding anything big.
>>
>>51808085
Are you implying that no big project has been made with python?

Python is an excellent language OP. And with new type hinting it's a viable option for large and complex systems. In fact I'd rather maintain a large python system than one written in Java or C++
>>
File: 1449685467755.jpg (27 KB, 600x564) Image search: [Google]
1449685467755.jpg
27 KB, 600x564
>>51807956
>no built-in GUI support
>can't build web applications
>no mobile support
>slow as shit
>>
>>51808134
>Tkinter
>Django/Flask
>Kivy
>CPython

Did I get b8'd?
>>
>>51807956
slower than php
slower than java
>>
>>51808133
>are you implying no program was written in brainfuck?

>brainfuck is an excellent language OP. And with new simplicity it's a viable option for large and complex systems. In fact I'd rather maintain a large brainfuck system than one written in Java or C++
>>
Used to hate it, now I'm rather fond of it.
>>
>>51808134
You need to learn more about python. Django is a great python webdev framework and there are ways to make android apps with python. There are tons of libraries that makes python fast depending on what you want to do
>>
>>51808153
>cpython
>i.e. just python because cpython is the name of the default python implementation
>i.e. 500 to 1000x slower than lua
>not literally slow as shit
>kivy
>unironically
>django/flask unironically
>tkinter
>builtin
Gr8 b8 m8 i r8 it 8/8 don't b ir8 ul b l8 4 ur d8
>>
>>51808171
I haven't mentioned brainfuck at all. What are you on about?

Python offers a variety of benefits to a developer, with being very easy to understand, powerful operators on sets, incredibly large ecosystem and tons of success stories
>>
>>51807956
Hating python is a meme.

Python is clean, easy and powerful. And trust me, you'd much rather have a job writing python than maintaining shitty, 15-year-old java or c++ code.
>>
>>51808224
>I haven't mentioned python at all. What are you on about?

>Brainfuck offers a variety of benefits to a developer, with being very easy to understand, powerful operators on bits, incredibly large simplicity and tons of success stories
>>
>>51808283
>>51808224
>>51808133
>>51807956
Obvious samefag is obvious.
>>
Use lua.
>>
>>51808133
>In fact I'd rather maintain a large python system than one written in Java or C++
Then you're a retard.
>>
It's 2015. Stop fucking around with shitty dynamically typed languages with nothing but terribly slow implementations.
>>
I fell for the clojure meme, can't get out of it
>>
>>51808432
Inspect the memory usage, number of short lived objects created and pressure it puts on the garbage collector and that should cure you. Alternatively just look at the source code for Clojure collections.
>>
I do academic research with machine learning. Everything we do is in python. Literally nothing wrong with the language if you're doing something where its more important to easily code something than for it to run extremely fast.
>>
>>51808472
But actually I'm making Web applications with clojurescript.
And I'm loving clojure as it's my first functional language.
But me being a NEET I'm scared that will I ever get a job with this
>>
>>51808478
And for academic research you can just use cpython or f2py for fast math. Just use a wrapper when ever a element needs to be fast. It's much easier to program like that.
>>
>>51808478
>I do academic research with machine learning. Everything we do is in python. Literally nothing wrong with the language if you're doing something where its more important to easily code something than for it to run extremely fast.
this, I'm getting into neural networks and machine learning and it seems python is widely used
>>
>>51808478
Google used to do this and then port the result to Java or C++. Now they just start with Java or C++ because competent programmers can finish the project in approximately the same time in any of the three languages.
>>
>>51808552
>he's literally so retarded he doesn't realize cpython is the name of the default python implementation which is over 10000% slower than even other scripting-class languages like lua
>>
>>51808626
Except tensorflow's most developed interface is the python one, and for a reason.
>>51808478
Python is a crapshoot of a language. The reason why we use python so extensively in ML is because we can use our optimized C programs from python to maximize the experimentation cycle's efficiency while still getting great performance (especially since 99.9% of the work is offloaded to (a) gpu(s) anyway).
>>
> dynamically typed
> bad implementation
> blub language
> bad module system
> bad package management
> whitespace as syntax
> GIL

Think I'll skip Python.
>>
>>51808711
Tensorflow development started long before Google ditched Python.
>>
File: 1442104778379.jpg (79 KB, 457x640) Image search: [Google]
1442104778379.jpg
79 KB, 457x640
>>51807980
>>
>>51808724
You forgot:
>loops and comprehension clobber the enclosing namespace
>slow as balls
>crippled lambdas
>retarded shit like code outside functions running significantly slower than code inside functions
>>
>>51808407
>terribly slow
Who the fuck cares. My time is way more valuable than my CPU's
>>
>>51808133
>And with new type hinting
Unenforced.
>>
>>51808769
You can have even lesser development times than with python while also enjoying over 100x the execution speed. Additionally, if your runtime performance doesn't matter, you're not doing anything useful and should just go back to your fizzbuzz-farm cubicle.
>>
>>51808769
I care because there's like three dozen other languages these days that are just as fast to develop in. There's no excuse for using something so slow and inefficient.
>>
>>51808802
Unenforced type hinting is great, so long as it means the type is inferred entirely (like in ocaml, haskell or chicken). Not all type information need be expressed: lambda (x: int, y: int) x + y; will obviously return an int, so why spell it out as lambda (x: int, y:int): int x + y;? It just makes it more verbose and less maintainable (harder to refactor).
>>
>I'm falling for the Python meme.
Which one?
>>
>>51808848
The type isn't inferred at all and Python's type hints have no impact on what happens at runtime. You can put type hints that are blatantly wrong and the program will still run.
>>
>>51808502
>I'm scared that will I ever get a job with this
As you should be. You should keep playing around with Clojure if you enjoy it (knowing a lisp can be handy when you least expect it), but go ahead and learn how to actually use JavaScript.

You'll probably have an easier time learning JS from Clojure because you already get the functional programming.
>>
>>51808133
>In fact I'd rather maintain a large python system than one written in Java or C++
You really shouldn't be giving advice on something you have no experience in.
>>
Why does everyone sing its praises? Is it good for anyhting other than academics doing scientific shit or beginners looking to learn?

I like the syntax but I just don't see what it's meant to do in the real world other than django
>>
>>51808898
The distinction is important. Explain this next time instead of
>unenforced
>>
>>51808953
Most people aren't stupid enough to think "unenforced type hinting" and "type inference" are related in any way.
>>
>>51808939
It's not good for sciences. It is good for quick experimentation. C is good for science. Python has a C FFI. Python was shilled to hell and back by a few people. Hence, it was widely adopted in the scientific community, and there are now tons of scientific python libraries (which is really a shame, it's such a bad language).

The reason why people sing its praises is that it's a C family language with an interpreter, no type system, and a readable syntax for people who've never programmed before, that got popular (thus, lots of libraries) due to being at the right place at the right time. That's literally it.
>>
>>51808939
Django is a fucking mess m8. Is there a single web framework in a dynamically typed language that doesn't rely on globals and abusing thread locals everywhere?

Cry about dependency injection or monad transformer stacks all you like but either is far better than just abusing globals everywhere.
>>
File: web development assembly.png (312 KB, 506x662) Image search: [Google]
web development assembly.png
312 KB, 506x662
>>51808193
>i.e. 500 to 1000x slower than lua
Except lua is designed to be fast. It's one of its main strengths.
>>
>>51808971
Most people aren't as ignorant as you, Timmy, they are in fact savvy of the fact type inference is a thing.
>>
>>51808848
>While these annotations are available at runtime through the usual __annotations__ attribute, no type checking happens at runtime . Instead, the proposal assumes the existence of a separate off-line type checker which users can run over their source code voluntarily.
>https://www.python.org/dev/peps/pep-0484/
They are basically comments.
>>
>>51809019
I understand type inference. I also understand that only a retard would conflate it with unenforced type hinting.
>>
>>51808831
Name a few and I'll look into them, I'm always eager to learn.
>>
>>51808153
You mean Cython
>>
>>51808153
>CPython
cpython is the default implementation, did you mean cython or pypy
>>
>>51809152
Note that cyton is python-flavored-C, it is NOT python and it is NOT C-flavored-python. Saying that you can "just use cython" is disingenous since it's not even the same language.
>>
>>51809169
>>51809152
Sorry, brainfarted
>>
>>51809016
le webassembly faec
>>
>>51809113
Lua, Ruby, Mindy.
Racket, haskell, ocaml.
>>
>>51809171
python
import math

def great_circle(lon1,lat1,lon2,lat2):
radius = 3956 #miles
x = math.pi/180.0

a = (90.0-lat1)*(x)
b = (90.0-lat2)*(x)
theta = (lon2-lon1)*(x)
c = math.acos((math.cos(a)*math.cos(b)) +
(math.sin(a)*math.sin(b)*math.cos(theta)))
return radius*c


cython
import math

def great_circle(float lon1,float lat1,float lon2,float lat2):
cdef float radius = 3956.0
cdef float pi = 3.14159265
cdef float x = pi/180.0
cdef float a,b,theta,c

a = (90.0-lat1)*(x)
b = (90.0-lat2)*(x)
theta = (lon2-lon1)*(x)
c = math.acos((math.cos(a)*math.cos(b)) + (math.sin(a)*math.sin(b)*math.cos(theta)))
return radius*c


shit how can you ever bridge this incredible learning gap between the two completely different entirely unfamiliar languages
>>
>>51808665
>shilling this hard for another shitty interpreted language
>>
i've literally only seen lua as a shitty game scripting language and pushed by retarded brazilians, why is the same guy talking about lua in here like its relevant compared to python lol
>>
>>51809113
C#, F#, D, Scala, Go, Ocaml, Julia, Swift, Elixir, Erlang, Dart, Kotlin, Ceylon, Lua, Common Lisp, Clojure, Rust, Haskell...

I'd even argue that Java 8 is just as fast to develop with as long as you avoid the J2EE type libraries because the tooling is so much better.
>>
>>51809289
>Settling for the greater of two turds unironically
>>
>>51809324
Remove C#, rust, go, julia and swift from the list at least, stop embarrassing yourself.
>>
>>51807956
What drove me away from python was the schism in the community between python 2 and 3. 3 broke a fair amount of backwards compatibility, making it hard for people to move from 2 to 3. Normally, that's not a problem, but I feel like a lot of people use Python because it's easy, works well enough, and is nice to develop in. Having to bring a 2 library to 3 is none of those things, so a lot of the tools stayed in 2, therefore a lot of developers stayed in 2.

It might be better now, but after using other languages, the whitespace syntax really bothers me now. I got used to not letting my lines go beyond 80 characters, and breaking a long line of code into multiple, easily-read lines is a pain in the ass in python.

I could get over it if I wanted to, but there's not much point now. >>51808831 is right about there being a bunch of other languages just as fast to develop in. Python does nothing that other languages I'm more experienced in can't do better.

>>51808999
nice triples, but what the fuck are you talking about?

>Python has a C FFI
What modern language doesn't? That doesn't set python apart from anything

>it's a C family language
By no stretch of the imagination could you consider python a C family language. The fact that it's NOT a C family language is part of why it's so successful because C family syntax takes practice to be able to read quickly. Python's doesn't, really.
>>
>>51809342
C# and Swift are both much better languages that Python.
>>
>>51809324
>>C#, F#, D, Scala, Go, Ocaml, Julia, Swift, Elixir, Erlang, Dart, Kotlin, Ceylon, Lua, Common Lisp, Clojure, Rust, Haskell...

>ok, meme, meme, ok, meme, meme, ok, meme, meme, meme, meme, meme, meme, HAHAHAHAHAHA, meme, meme, meme, rotten meme
>>
>>51809360
I don't even like most of the languages listed but they're all objectively better than Python and have far better implementations.
>>
>>51809358
Almost everything is a better language than python, but that doesn't mean they're as fast to develop in.
>>
>>51809418
If you know modern C# it's easily as fast to develop in.
>>
>>51809353
>my anus is my mouthpiece: the post
>>
>>51809360
>a language used extensively at many of the top tech companies in the world
>meme
>the language that is used in virtually every single game for scripting
>somehow funny
Typical /g/
>>
>>51809438
im getting interested in learning C# (not by this retarded fucking thread but just in general), whats a good resource you used to learn it
>>
File: 1421159328629.jpg (71 KB, 640x631) Image search: [Google]
1421159328629.jpg
71 KB, 640x631
>>51807956
Check out my golden rule:

First choose your project, then choose the best fitting language to code it.

Python is nice for something small cross-platform like based youtube-dl, write a small system tool in C, program a hipster app in JAVA, do a small job in plain shell script, and for bigger projects I'd use C++ - and so on.

Don't fall for thoughts like "This is the best programming language." Have thoughts like "This ist the best language to realize my idea without language related fuckery."
>>
>>51809454
rule of thumb is if you include lisp and haskell as alternatives to modern languages, im probably not going to read the rest of your posts or any replies

at least if you suggested just basic c you could use that knowledge in the real world
>>
>>51808191
Django is confirmed SJW tho
>>
>>51809323
>i've literally only seen lua as a shitty game scripting language
I do embedded systems for networking equipment, and all our scripting is done in Lua. It has a small footprint and doesn't come with a huge standard library of which 98% won't be needed.
>lol
cute
>>
>>51809442
>projecting: the post 2 electric boogaloo
>>
>>51809454
>a language used extensively at many of the top tech companies in the world
Google dropped Python and let Guido go. Most of the other top tech companies don't use it at all or use it for a few shitty Django websites that they outsourced to cheap Indian programmers.
>>
>>51809501
i dont think the argument here is that python is a good embedded language
>>
>>51809463
I learned C# a very long time ago so I'm not sure now. C# in Depth is good but if you're just starting programming it might not be the best first resource.
>>
>>51809492
>I am retarded and you should be, too!
>>
>>51809522
>all dat inability to read
/g/ - reading is for /fa/ggots
>>
>>51809547
>illiteracy
That's not what I was saying. Someone was wrong on the internet, and I had to fix it to feed my ego.
>>
>>51808134
Many languages do not have built in GUI support or a standard library that supports web applications....

And Python can do all of that btw
>>
>>51808283
this
>>
File: 1445290721057.png (26 KB, 273x200) Image search: [Google]
1445290721057.png
26 KB, 273x200
>>51808134
Everything you say is wrong!
>>
>>51808761
what do you recommend then?
>>
>>51810158
For you? A nice cup o' bleach.
>>
I'm learning python, and it's fun
>>
import program

so you're calling THIS programming?
>>
>>51810236
you're just mad because it's 2015 and people don't need to reinvent the wheel
>>
ython is good for shell scripting, rapidly developing small applications, web scrapers, bots, and for web development - basically projects where running time isn't the highest priority and you just want to implement a small idea with minimal hassle.

Are there disadvantages to Python? Of course. It's slow, for one, and the rift between Python 2 and Python 3 still hasn't been closed. But since it can be learned in 6-12 hours if you're not a complete retard, you're better off just doing that and deciding if it's right for you, instead of listening to FizzBuzz-level programmers on /g/ who think that learning new languages is something difficult or significant in any way. At worst it'll be a few hours of wasted time, at best you'll have another scripting language that you actually find fun and useful.
>>
File: itsYou.gif (28 KB, 291x277) Image search: [Google]
itsYou.gif
28 KB, 291x277
>>51808160
>>51808939
>>51809324
>>
>>51810236
yes
you can always go for C and when someone tells you theres a need for a quick automation tool with some webscrapping, that you will have it done by 2017
>>
>>51810275
>people don't need to reinvent the wheel
Yet they still are.
>>
File: resources.jpg (58 KB, 480x443) Image search: [Google]
resources.jpg
58 KB, 480x443
>>51810236
ah! The "battery included" thing. i first thought that this was "cheating" but then i started to think like this, Am i so dumb that i think i will make something better than a library implemented with the standard release? Will my library be better than a library with a dozens of devs whos been perfecting this package for years? Most of the cases, no! Therefor i usually import their packages instead of writing my own.
>>
>>51810323
>>51810323
>gif
>doesnt move
fuck you
>>
File: lel.jpg (10 KB, 255x244) Image search: [Google]
lel.jpg
10 KB, 255x244
>>51810462
Glad i could ruin your day!
>>
>>51810236
No that's program, this is programming
import programming
>>
File: 1434866151141.jpg (139 KB, 670x701) Image search: [Google]
1434866151141.jpg
139 KB, 670x701
>>51810302
Wow that sounds really easy are u a langage guru?
>>
>>51807956
Python's a great language, but you should learn Java or C++ on top of it. It complements either of them great. I'd go with Java though.
>>
File: Come at me, bro.jpg (50 KB, 410x436) Image search: [Google]
Come at me, bro.jpg
50 KB, 410x436
>>51810462
GIFs weren't always animated.
>>
>>51810528
new as fuck to internet apparenlty
>>
>>51810511
It's okay anon, one day you'll advance past FizzBuzz and you'll be able to learn Python without struggling, too.
>>
>>51808478
scikit-learn is great stuff
>>
>>51810886
If you're not serious, sure.
>>
>>51810302
This
>>
File: fuck_python2.png (32 KB, 489x145) Image search: [Google]
fuck_python2.png
32 KB, 489x145
>>51807956
This is all you have to know.
>>
Wow nobody posted any Python code.
Is python's syntax like ruby's regarding indentation over brackets?
>>
>>51808191

>File/Data IO with Python
>Number crunching with Numpy/SciPy
>Display results with matplotlib
>export results in any vector graphic you like
>???
>published!
>>
Is matlab equally shit as python?
I fucking hate having to install packages for every menial task I'm given.
>>
>>51811761
>file/data IO with pandas
>number crunching with cg/theano
>display results with matplotlib
>screenshot results because trying to save them causes matplotlib to segfault, bringing down the python session with it
>???
>import the bitmap (png) in the latex file
>>
>meme

There are things to hate about it, but ever language you don't invent yourself will have flaws. How often do you come across a language that's powerful and easy at the same time? There's worse memes you could fall for, like haskell.
>>
>>51809486

\thread

but i'd change that shell script. Most script languages (esp python) can be used as equivalent to shell scripts
>>
>>51811905
>How often do you come across a language that's powerful and easy at the same time?
Almost every single day. The issue is that either they don't have libraries, their GC is trash (hello, boehmgc!), they don't support parallelism (you'd be surprised how many languages don't - even your favorite language might not!), or similar issues.
>>
Python. C++. C#/Java. All you need
>>
>>51812198
Odd way to spell Racket, OCaml and Forth.
>>
>>51809015
Flask?

Flask.

Why anyone would use Django with Flask around is beyond me.
>>
> people in this thread recommending C++ and Java unironically
Either trolling or full on enterprise level monkey brain death

> but sloooooow
Yeah, your unoptimized ghetto data structure is slow. Besides there is pypy and IDGAF.

> if performance is not important, you are not doing anything important
retarded

Not even mad.
>>
>>51812769
>being this butthurt
Cry us another river senpai!
>>
It's not actually easy. You only think it is because stackoverflow helped you.

It's not fast. Fast matters.

It's perl 2.0 and it died when people started going out of scope.
>>
>>51812663
>Why anyone would use Django with Flask around is beyond me.
I have no fucking clue either. My assumption is people talking out of their asses.
>>
>>51808133
>"Wow, play-dough is a great material"
>"Okay, just don't make anything too big"
>"too bad i'm building a house fuck you it's easy and fun to work with"
>"and I have an awesome idea that nobody who uses wood or brick will ever make because it's novelty bullshit!"
>it gets users
>"Woe is me, i like a novel bullshit idea and the only house that has it is made of playdough"
>"Whoever built this has made my life worse"
>>
>>51812769
>NO NO IT CAN BE GOOD IF YOU USE AN ALTERNATIVE IMPLEMENTATION

Sounds like lisp but with more hipster marketing monkeys in the github croud

Can you say doomed meme language?
>>
>>51811824
>Is matlab equally shit as python?
Take a look at iPython Notebook since you already know python, but look at R, Julia, and Matlab.
>>
File: meme.jpg (28 KB, 403x497) Image search: [Google]
meme.jpg
28 KB, 403x497
why use a meme language when you can just program in Java?
>>
File: 1423860190455.png (249 KB, 358x358) Image search: [Google]
1423860190455.png
249 KB, 358x358
>>51813098
>implying Java isn't a meme language
>>
>>51813098
Java is the very definition of meme
>not as fast as c
>not as easy to write as python
>muh everything is an object
Only real benefit is it runs on anything, but then again so does python :^)
>>
All the people who apparently never got familiar Python spewing bullshit.

Give me another language that has all of the following:
> uniform and enforced style rules
> convenient FP features like closures, first class citizen functions and methods, lambdas
> advanced OOP featuers like multiple inheritance and metaclasses, powerful operator and "magic methods" overloading semantics
> convenience of duck typing (or not having to build complex class hierarchies for every single trivial piece of shit if you want polymorphism)
> generators
> context managers
> powerful keyword function arguments and variable argument lists
> general attitude of developer-friendliness first
>>
>>51811824
Dude, matlab is way more shit than anything else, especially python. Almost Perl-shit level.
>>
>>51812990
I don't see the problem if the implementation is drop-in and almost fully compatible.
You are just uneducated.
>>
>>51809020
>>51808802
>type hinting is unenforced
and unnecessary
>>
just use perl famalam.
>>
>People shitting on python on any basis that isn't performance
>Performance only matters for an incredibly small amount of applications
I'm not following
>>
>>51812232
Oh lawd
>>
>>51813188
Which cython is the exact opposite of.
>>
>>51813150
>python
>fp features
Choose one.
>python
>uniform style rules
Choose one.
>python
>advanced OOP
Choose one.
>python
>powerful keyword function arguments
Choose one.
>python
>developer-friendliness
>let alone first
>when guido breaks the API with every sub-version, let alone the 2v3 split
>when the language is a mess of inconsistencies and bad name management
Choose FUCKING one.

Meanwhile racket fits all these criteria, except it actually does, instead of merely pretending to.
>>
>>51807956
Just another good language to get things done in. You can do large scale web application with it, all the way down to small scripts.

It's a nice glue language that I use for prototyping and rapidly making small web services at work.

When I want better performance/stability I port it over to Go. If it's a straight server application, I just write in straight in Go.

Right tool for the job, really. Python is not a bad language to learn. Can do quite a bit with it.
>>
>>51814521
Absolute cancer: the post.
>>
>>51814598
1/10 terrible b8 m8
>>
>>51814269
>this post
>based in reality
Choose one
>>
>>51808283
>than maintaining shitty, 15-year-old java or c++ code.
Literally what I do I work these days. Python is pretty nice to use but it is limited. There is no one superior language, they all have benefits and downfalls.
>>
>>51807956
Slow
Bad threading support
Shitty typing
Enforced whitespace horseshit
>>
>>51814718
>>51814738
Your tears are my sustenance! Pytards really are the best! Yum, yum! Just speak the truth and there they go, rivers aflow!
>>
>>51814790
k
>>
>>51812232
Good luck getting jobs senpai
>>
>purposeful omission of TCO
Guido pls
>>
>>51815654
I'm already employed and I make 6 figures. Thanks though.
>>
its deprecated now because of perl6
>>
give an example of a slow project that was built with python
>pro tip: you cant
>>
>>51816280
All of them.
>>
File: laugh.jpg (2 KB, 125x93) Image search: [Google]
laugh.jpg
2 KB, 125x93
i see people giving alternative languages to python that have no real community behind them. all that speed youll "gain" wont matter because you'll be writing code from scratch most of the time. and good luck getting support
>>
>>51816332
>look ma, I can talk with my anus!
>>
>>51807956
It's great for quick dirty code or simple programs/tools. The dedicated whitespace is a pain in the ass though, I prefer ruby due to that being one of the reasons.
>>
File: tom.jpg (37 KB, 600x600) Image search: [Google]
tom.jpg
37 KB, 600x600
>>51816369
i see youre one of those hard working genius programmers
>>
>>51809463
Learning a propietary language that only works in one platform
PFFFFFFFFFFFFFF
>>
>>51808160
Is this true?
>>
>>51816444
i'd rather be rich, successful and happy instead of hard working
>>
>>51816461
wtf - are you living in a cave or something?

>>51816463
no, it's written in C, hence much faster than the other two.
>>
>>51816501
>using mono
>using dot net shit
>enforced OOP

c sharp is fucking retarded man
>>
>>51816578
Fuck you
>>
>>51808193
>moving the goalposts
>>
Python is really great language i like it but i hate doing OOP in it.
Its ridiculous, seriously fuck indentation
>>
>>51813127
But Java is way faster than Python. It's not as fast as C/C++ but it's pretty close.
>>
>>51809463
>C#
It's this generation's visual basic.
>>
>>51820836
Python is this generation's visual basic.
>>
>>51808160
Ahahahahahahah slower than java... You poor idiot.
>>
>>51820364
i just pretend it's functional when i write python
>>
>>51821035
Python is a Microsoft-controlled language to do baby's first Windows GUI in?
>>
>>51821070
want to elaborate on what he said wrong?

python is way slower than java.
>>
>>51807956
As long as speed and memory efficiency is a big consideration, then Python is a great language for anything and everything.
>>
>>51818039
>outlining why a garbage post does not answer the previous post is moving the goalposts
Pytards are really desperate.
>>
>>51808831
This. Python is the new PHP, it's just that pytards are too much in denial about it desu senpai.
>>
>>51808085
There is literally nothing wrong with building big things with Python.

Simple type errors? Absolutely not an issue. When you go big, your errors are way more subtle than that. They will baffle your mind. They will be unexpected. No extent of type system bondage can save you from thinking the problem wrong.

What Python does help with is by providing a large amount of useful libraries for fewer details to get wrong and an incredibly consistent userland between them. Plus, it's very flexible so you can fix things up after you find out they're wrong.
>>
>>51822226
Fuck off, pytard. Python has lots of libraries, all of which vary in quality between garbage and absolute garbage. Reminder that even numpy, perhaps the most mature python library of all, failed to correctly calculate mean and stdev for an entire version.
>>
>>51807956
Its fine. I would rather use java or c# for making larger applications. But it's great for prototyping or personal projects
>>
>>51822683
>failed to correctly calculate mean and stdev for an entire version
implying code cant have bugs
>>
File: 1449478472774.jpg (29 KB, 279x304) Image search: [Google]
1449478472774.jpg
29 KB, 279x304
>>51807980
>>
>>51822911
ONE WHOLE VERSION
IN A PRODUCTION RELEASE
IN SUCH A CORE FUNCTIONALITY
It's a completely different matter if it's quickly addressed in a bugfix, though it's still really shitty.
It's a completely different matter if it's an issue in a development build, this is perfectly fine.
It's a completely different matter if it's an issue with a PR which is caught by proper use of CI and tests. This is exactly what should happen.
What's happening here is that scientists cannot trust numpy to give accurate results because there is a really bad development methodology in place that means they have to be ready to waste months of research on a bug in numpy should they decide to use it. That is nowhere near remotely acceptable.
>>
>>51822992
so they should waste time writing the code from scratch to create the bug themselves. is that what youre saying? you cant blame a language for a programmer's mistake
>>
>>51823057
I'm saying that the libraries python has access to might as well not exist because of how buggy and shitty they are for the most part. Haskell has exactly the same issue, by the way.
Meanwhile, C++ does not have that problem. Hell, even java doesn't have that problem. Java's problem is leaky, slow libraries with 20 billion factory levels, but at least shit works and is usually correct.
>>
>>51808085
>what is django
>>
>>51807956
Who gives a shit, you can learn any language in a matter of week. Learn to program it's more important and then use what suit you and your current project more.
>>
>>51823984
You can learn any language to a rudimentary and awkward degree in a week.

Good luck making idiomatic and mostly correct code at a decent pace with the entirety of a week's experience under your belt.

>>51823169
Python stuff is likewise "shit works and is usually correct" at worst.
>>
>>51824906
No, python stuff is "shit usually doesn't work and is almost never correct but if I keep locked on that one version that does work for my specific use case it'll be alright. I sure hope I don't have to wiggle my way toward any sort of different usage though."
>>
>>51815968
>TCO
this. and you have to change setrecursionlimit or else you have a maximum of 1000 levels of recursion.
>>
>>51814232
Where did I say anything about Cython?
>>
>>51826842
So's pypy
>>
numpy and scipy for those that don't want to pay an arm and a leg for matlab
>>
>>51827422
Just use octave.
>>
>>51813188
The problem is you have to drop in an alternative implementation and hope it remains up to date in the future

It means as much as alternative macro libraries in lisp.
>>
>>51807956
Typos are runtime errors.
There are no variable declarations, so your code will be littered with reverse declarations like 'self', 'global', and 'nonlocal'.
The language has a reference implementation instead of a standard.
Python 3 still hasn't been fully accepted yet despite breaking backwards compatibility with Python 2.
In Python 2, closures are broken.
In Python 3, division returns floating points.
Anonymous functions are gimped.
It's fucking slow.
The standard library doesn't even have a consistent naming system.
It's dynamically typed.
Encourages duck typing.

>>51808134
Everything you said is wrong.
>>
Python is a decent "glue" and scripting language. E.g. I have an application that pulls xml and json data from URIs at regular intervals, does a bit of fiddling and puts everything into a database. In python I can do this with just the standard library. I don't particularly like python as a language but it would be a waste of time to use just about anything else for this task.
>>
>>51807956
>trading execution time for developer time
It's not like you have something better to do with your time.
>>
>>51827600
Pretty much this. There are other options than python for these tasks, such as scsh, but overall it's a fair assessment.
>>
>>51813150
>uniform and enforced style rules
Do you use single quotes or double quotes? What do you doc strings look like? Do you pad white space between your methods?

>convenient FP features like closures, first class citizen functions and methods, lambdas
Python doesn't have real closures and lambdas are limited to a single expression.

>convenience of duck typing (or not having to build complex class hierarchies for every single trivial piece of shit if you want polymorphism)
Static type systems catch errors at compile time. Dynamic typing catches errors at runtime. Duck typing a shit.

>generators
Nothing new.

>context managers
Not Python specific.

>powerful keyword function arguments and variable argument lists
Common Lisp has had them for ages.

>general attitude of developer-friendliness first
ay lmao

What you really want is C#
>>
>>51827600
> I don't particularly like python as a language but it would be a waste of time to use just about anything else for this task.
Scheme. You should be using Scheme. Probably Racket or maybe Guile.
>>
>>51827705
>Python doesn't have real closures and lambdas are limited to a single expression.
And no TCO, which is very important to proper FP.

>What you really want is C#
F# m8
>>
>>51827728
I would no longer suggest guile now that I've had significant experience with it. It is very finicky by design, with many "bugs" (unwritten exceptions to behavior) that are not noted anywhere and can only be learned by asking on irc (such as how array base, to bytevector, and array offset work and how to pass an array into a function through the FFI). Racket has its issues (most notably related to typed racket) but is a much more solid option. I'd also recommend chicken, except it's limited to green threads and won't support 64-bit datatypes until chicken 5. Aside from that, chicken is fantastic, its type system is great, it's fast, and its GC isn't crap like guile's.
>>
>>51827570
>Typos are runtime errors.
Don't make typos.
>There are no variable declarations, so your code will be littered with reverse declarations like 'self', 'global', and 'nonlocal'.
Organize your code better.
>The language has a reference implementation instead of a standard.
Go play with your design-by-committee languages then.
>Python 3 still hasn't been fully accepted yet despite breaking backwards compatibility with Python 2.
Happens in every language.
>In Python 2, closures are broken.
Use python 3.
>In Python 3, division returns floating points.
who cares
>Anonymous functions are gimped.
If your anonymous functions are that complex, just make it a normal fucking function.
>It's fucking slow.
Is that Python's fault, or the idiot wanting to write performant code with a non-statically typed language?
>The standard library doesn't even have a consistent naming system.
Show me a standard library of a language that does.
>It's dynamically typed.
Flexible.
>Encourages duck typing.
It's a good thing.
>>
File: mkoun.jpg (21 KB, 431x467) Image search: [Google]
mkoun.jpg
21 KB, 431x467
>it's almost 2015
>D still isn't the universal programming language chosen by everyone for every application
>>
>>51808283
pfffffttt, bitch please!
>>
>>51827867
>Don't make typos.
Just use C. Don't read in more data than a buffer can hold. Don't forget to free memory. Don't forget that numbers can overflow. Don't return any pointers to stack variables. Or just use a language where stupid errors get caught.

>Organize your code better.
No retard. That's not the problem. There's no way to know whether I'm defining a new variable or assigning a value to an old one unless I explicitly say so, and Python chose a terrible way to specify which.

>Use python 3.
I can't; it's stillborn and the only reason to use Python is for libraries.

>If your anonymous functions are that complex, just make it a normal fucking function.
In what world is a single statement complex?

>Is that Python's fault, or the idiot wanting to write performant code with a non-statically typed language?
Sorry, I can't hear you over the sound of my Common Lisp compiler that generates native code. Python has no excuse.

>Show me a standard library of a language that does.
Go, C#

>Flexible.
No retard. Dynamically typed does not mean you can say more; it means you have to check types by hand. Static type systems catch errors early on. Dynamically typing encourages half assed solutions that only work some of the time.
>>
>>51827942
nice meme but have you anything to add other than shoot me because no one wants to use my special language?
>>
>>51828069
Python is shit compared to D
>>
>>51828107
so i should stop practicing with C++ and learn D, then?
>>
>>51828132
If you want to have a job no. If you want to have fun yes.
>>
>>51828145
C++ is boring as shit though. But if i break with it now, D may not offer me enough of anything to do anything. I mean, what a drag.
>>
>>51809486
>hipster app
>JAVA
>>
Reasons to use python
- You're a scientist
- You're building a web app
- You need a glue language
- You're learning a programming language

Reasons not to use python
- Performance is important
- You don't like indenting things
- You're programming for embedded devices
- You don't like OOP
>>
>>51828270
Other reasons not to use python
- You like FP
- Program correctness is important
- You are not alone working on a project
- You need to adapt the language to your needs
- You don't like self.__init__(self, self.__faggots__.__self__.__dicks__) syntax
- You need parallelism
>>
>>51828323
Would agree about parallelism especially. Would particularly about 'working alone on a project particularly'. I've never found it to be a problem.
>>
>>51808133
Could you explain what type hinting is and how it works? Never heard of it.
>>
>>51828426
The issue with working with other people on a python project is that whitespace v.s. tabs, whitespace amount per indent level, module - object - unit organization and library selection is always a mess. Then there are people who ruin commit logs by retabbing the files they work on and whatnot.
>>
>>51828547
Type hinting means that you tell the compiler/interpreter that a symbol should be interpreted to always refer to an object of a specific type. In python, though, it only means that you commented your code, but hey, marketing am i rite?
>>
>>51828671
There's a PEP for that. Between 7 and 9. Those other things you mentioned are not specific to Python.
>>
>>51828671
But python has an official standard for this.
>>
>>51828671
I wish there was a way to setup git to recognise these changes and tell the committer to fuck off
>>
>>51828696
>>51828693
pep and flak are 2 competing standards for that and there are several additional ones. Even then, and ignoring the fact that one person prefers one standard to the other, it means nothing when neither party cares about these specific standards. Also pep8 is absolute fucking garbage and anyone who uses it should just kill themselves like the guido cu.cks they are.

These issues are absolutely python-specific. Other languages have their own issues with regard to cooperation, but none of these.
>>
>>51827728
Scheme is a great language. In fact it's my favourite language and the first one I evaluated before choosing python in this case. I ended up rejecting it due to the non-existent documentation for guile's gobject introspection library (I also needed a gui with webkit).

In general though, python is still better than scheme for these kinds of programs simply because of the amount of libraries that are available. What Scheme needs right now is a standard C FFI and and more mature R7RS implementations so that it's possible to write portable libraries.
>>
>>51828971
Fuck scheme, marry racket, kill the rest.
>>
>>51808301
>trolling to derail the discussion and pretended that your winning
Ok keep going m8
>>
>>51829289
>26 hours later
Pytards are the desperatest.
>>
File: 1447373096145.jpg (132 KB, 1500x1500) Image search: [Google]
1447373096145.jpg
132 KB, 1500x1500
>>51829165
Fuck arc, marry CL, kill the rest ESPECIALLY racket
>putting defmacro in "compatibility"
mfw
>>
since this is a python thread, what do you fags think about pypy-stm?
>>
>>51830488
>using unhygienic macros
>ever
You're retarded.
>>
>>51830645
Abomination
>>
a, b = 0, 1
while True:
a, b = b+a, a
>>
I want to learn programing and I was going to start with python.

... what's wrong with it? What one should I start with instead?
>>
>>51830676
Why? What's wrong with it? It looks like a neat project to me.
>>
>>51830737
hasklel
>>
>>51830737
Just go with Python. It's a great beginner's language.
Don't listen to shitposters/language-purists on /g/. The important thing is that you focus on learning something.
>>
>>51810446
if he just kept piling up the ladders it would have worked
>>
File: 1449941596786.gif (995 KB, 500x500) Image search: [Google]
1449941596786.gif
995 KB, 500x500
>>51830656
>mfw schemefags are literally this delusional with their shitty "hygenic" muhcros
>>
Sacrificing performance speed for readability and faster prototyping can be advantageous at times
>>
>>51807956
Python is a great language to start with. But when you want a large, powerful program. You are best moving to a more suitable language.

Of course that language is dependent on the kind of program you want to make.
>>
>>51816280
Deluge and rpm. Two of the worst code bases I've ever seen too.
>>
>>51831173
How is Deluge slow? All it does is wait on network connections.
>>
>>51831002
Enjoy your macro bugs and gensym spam. Meanwhile I'll be over here with a very clean and readable macro definition with no chance of name conflict. Hygiene is also strictly superior to lack thereof since it can emulate unhygienic macros without issue.
>>
>>51831173
And what's wrong with the source code? I'm skimming through it now, and except for a little less whitespace than I'd like, it looks fine.
>>
>>51831251
Ill enjoy my nice DSLs while you enjoy your convoluted babby shit pig disgusting filthy hygenic shit macros
>>
>>51831283
>nice DSLs
>name leaks everywhere
Enjoy your lack of hygiene, pig!
>>
>>51831332
>not using
defmacro!
from let over lambda
ignorant
>>
>>51831345
Isn't that just a new kind of hygienic macro?
>>
>>51831345
>hygiene is shiiiit!
>which is why you should use a hack to systematically imitate hygiene!
CLfags everybody!
>>
>>51831454
To be fair, Common Lisp still has a better exception system and overall environment. Last time I wanted to update something in a running scheme program I had to download a library and set up special hooks for what I wanted to change.
>>
>>51831469
That's not a problem in non-shitty schemes. The main difference between common lisp and scheme, beside the fact that scheme is infinitely superior in every single way, is that the cl standard is very extensive so that implementations don't deviate enough from each other that such issues can arise in one system and not the other.
>>
>>51827705
>Give me another language that has all of the following
>but this one feature is not python specific
can you read?
>>
>>51827705
>Static type systems catch errors at compile time. Dynamic typing catches errors at runtime.
Dynamic typing systems are still more productive.
>>
>>51807956
You should hate whitespace and a lack of semicolons for no reason...?

Python is a great language as long as you don't need it to be fast.
>>
>>51808193
tkinter is a builtin module dumbass. With your logic random numbers aren't supported in python

from tkinter import *
>>
>>51832113
1/10. At least try somewhat.
>>
>>51831561
Which Schemes support live code reloading and have a restart based exception system?
>>
>>51832083
Python doesn't even have everything you listed. Ruby, Common Lisp, C#, Haskell, Factor, and even C++ all have some way of making sure resources like files are released automatically.
>>
Python is part of the nigger-tier of languages. C/C++ or GTFO.
>>
>>51807956
Don't. Python is great for making things quick and easy. After making them, just port them to C or C++ if you really need extra speed.
>>
>>51832610
> listed specific python features
> python doesn't even have everything you listed
Confirmed for never getting to know python

And yes, I know C++ devs use RAII, that still doesn't answer my original inquiry.
Thread replies: 255
Thread images: 26

banner
banner
[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y] [Home]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
If a post contains personal/copyrighted/illegal content you can contact me at [email protected] with that post and thread number and it will be removed as soon as possible.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com, send takedown notices to them.
This is a 4chan archive - all of the content originated from them. If you need IP information for a Poster - you need to contact them. This website shows only archived content.