``If you can do exactly what you want with Python 3.x, great! There's a few downsides, such as comparatively limited library support and the fact that current Linux distributions and Macs are still shipping with 2.x by default, but as a language Python 3.x is definitely ready." - Python Official Website
They really go out of their way to try and apologize for a shitty language. 3.x is awful and NO ONE will ever adopt it. Python is going to die when 2.7 becomes too old to be useful since Python is just a novelty language that represent an idea that will actually be polished and efficient at some point down the road.
Python does suck, it definitely will die, but that's just stupid. It's the same thing of ``WinVista sucks, it's awful and NO ONE will ever adopt it. Windows is going to die when WinXP becomes too old to be useful''. I still have to see the year of the Linux desktop.
Name:
Anonymous2011-05-19 23:08
>>3
The point is: Linux is no better than Windows - both are shitty Unix-clones.
Lisp
uniq L -> L,sort,{[@A X X @B]->[@A @[X @B],r]; E->E}
Python
a=[1,4,6,3,4,5,6,6,7,7,9,9,4,3,4,7,7,7,4,3,5,7,3,6,3,]
print a
def removeDoubles(a):
nonD=range(len(a))
for i in range(len(a)):
for j in range(i+1,len(a)):
if a[i]==a[j]:
nonD.remove(i)
break
b=[]
for i in nonD:
b.append(a[i])
return b
def removeDoubles2(a):
#b=sorted(a)
def quickSort(a):
def qSort(i,j):
global a
if j==i:
return
elif j-i==1:
if a[i]>a[j]:
c=a[j]
a[j]=a[i]
a[i]=c
return
else:
l=(j+i)/2
qSort(i,l)
qSort(l+1,j)
join(i,l,j)
return
def join(i,l,j):
global a
k=i
n=l+1
m=0
s=j
t=l
b=range(j-i+1)
while 1:
if a[k]<a[n]:
z=k
k=n
n=z
z=s
s=t
t=z
b[m]=a[n]
m+=1
n+=1
if n>s:
for g in range(t-k+1):
b[m+g]=a[k+g]
break
for g in range(j-i+1):
a[i+g]=b[g]
qSort(0,len(a)-1)
c=a
quickSort(c)
b=[]
b.append(c[0])
for i in range(1,len(c)):
if c[i]>c[i-1]:
b.append(c[i])
return b
print removeDoubles(a)
print removeDoubles2(a)
Name:
Anonymous2011-05-20 21:05
Lisp:
Grammar -> split '| '(sentence -> (noun_phrase verb_phrase)
|noun_phrase -> (Article Noun)
|verb_phrase -> (Verb noun_phrase)
|Article -> the a
|Noun -> man ball woman table
|Verb -> hit took saw liked)
grammar = Dict(
S = [['NP','VP']],
NP = [['Art', 'N']],
VP = [['V', 'NP']],
Art = ['the', 'a'],
N = ['man', 'ball', 'woman', 'table'],
V = ['hit', 'took', 'saw', 'liked']
)
def generate(phrase):
"Generate a random sentence or phrase"
if isinstance(phrase, list):
return mappend(generate, phrase)
elif phrase in grammar:
return generate(choice(grammar[phrase]))
else: return [phrase]
def generate_tree(phrase):
"""Generate a random sentence or phrase,
with a complete parse tree."""
if isinstance(phrase, list):
return map(generate_tree, phrase)
elif phrase in grammar:
return [phrase] + generate_tree(choice(grammar[phrase]))
else: return [phrase]
def mappend(fn, list):
"Append the results of calling fn on each element of list."
return reduce(lambda x,y: x+y, map(fn, list))
C/C++
#include <stdio.h>
#include <stdlib.h>
#define p printf
#define r rand
char*g="foobarbaz";
char*h(){return(g+abs(r()%3)*3);}
int y(int v){for(int a=abs(r()%5)+3;a;z(++v),p(--a?", ":""));}
int z(int v){(r()%3==0&&v<=4||v==0)?p("%.3s(",h()),y(v),p(")"):p("%.3s",h());}
int main(){srand(time(0)),z(0);}
Python:
import sys,random
wordsL=3
words=['foo','bar','baz']
maxI=10
maxA=3
def shmjak(i):
j=random.randint(0,wordsL-1)
sys.stdout.write(words[j])
if i<=maxI:
k=random.randint(0,maxA)
sys.stdout.write('(')
for m in range(k-1):
shmjak(i+1)
sys.stdout.write(',')
shmjak(i+1)
sys.stdout.write(')')
Even if you hate Python, unfortunately it's never going to die. It's embedded in a bunch of scientific programs (such as ChemOffice and PyMOL) and as a result will probably become the next FORTRAN IV, in the same way VB6 is set to become the next COBOL.
>>25
"The next COBOL" is a buzzword as much as "web scale" or "synergy." In fact there is nothing in the world quite like a cold shower of COBOL spaghettis first thing in the fucking morning after getting a panicked call from sysadmins who can't find their own cocks with their eyes open and their hands untied.
Name:
Anonymous2011-05-21 19:38
>>26
Maybe—but it's no less real. Business programmers will be putting up with VB6 for decades due to its extensive use over the last 15 years. Just like their parents have to put up with COBOL and scientific programmers have to put up with packages written in Fortran. Python 2 has job security beyond your wildest imagining.
>>34
Not you, but >>7-90,14. You're new, it's different.
So, I'll leave the BBCode table here. /prog/'s BBCode Table
[b]text[/b] text
[i]text[/i] text
[u]text[/u] text
[o]text[/o] text
[s]text[/s] text
[m]text[/m] text (it is usually used to post Lisp code)
[aa]text[/aa] text (you need the Mona font for this, it is used for sjis art, despite the name)
[sup]text[/sup] text
[sub]text[/sub] text
[code]text[/code] text (if you don't wrap your code in [code][/code]tags, no one will ever care to read it.)
[spoiler]text[/spoiler] text
All of them are nestable. [quote]is not a tag, this is how you quote:
> text
=> text
The space after the > is important.
This doesn't work with multiline quotes, you must separate the lines with a [br] tag (you don't close this one):
> line1[br]line2[br]line3 line1
line2
line3
Or use a [o][/o]tag, or any other tag that produces a <span>, like [spoiler][/spoiler]..
> line1[o]
line2
line3[/o]
line1
line2
line3
YOU MUST USE sage IN YOUR EMAIL FIELD, unless you're posting something ``important'' or /prog/ is getting spammed. Your grammar mustshould be correct. Punctuation, proper capitalization, no abbreviations. WE ARE NOT THE IMAGEBOARDS. No stupid memes, we don't ``lol'', we don't ``epic win'', we don't ``check 'em'', we don't ``>imply'' things, we don't ``inb4'', etc.
You'll learn more about /prog/ by lurking more and reading old threads. Prefer the second one.