Path: csiph.com!usenet.pasdenom.info!weretis.net!feeder1.news.weretis.net!feeder.erje.net!eu.feeder.erje.net!newsfeed.xs4all.nl!newsfeed1.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.002 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'python,': 0.02; 'one?': 0.05; 'subject:Python': 0.06; 'deployed': 0.07; 'familiarity': 0.07; 'javascript,': 0.07; 'perl,': 0.07; 'php.': 0.07; 'learn,': 0.09; 'ruby,': 0.09; 'language.': 0.14; 'bonus.': 0.16; 'cookies': 0.16; 'fly': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'janssen': 0.16; 'language?': 0.16; 'png': 0.16; 'subject:Languages': 0.16; 'subject:user': 0.16; 'throw': 0.16; 'language': 0.16; 'wrote:': 0.18; '(not': 0.18; 'library': 0.18; 'cheap': 0.19; 'deployment': 0.19; "hasn't": 0.19; 'thoughts': 0.19; 'work,': 0.20; 'memory': 0.22; 'handles': 0.22; 'affects': 0.24; "aren't": 0.24; 'bytes': 0.24; 'choices': 0.24; 'text,': 0.24; 'text.': 0.24; 'unicode': 0.24; 'versions': 0.24; 'specifically': 0.29; 'leave': 0.29; 'am,': 0.29; 'message- id:@mail.gmail.com': 0.30; "i'm": 0.30; 'code': 0.31; 'easier': 0.31; 'towards': 0.31; '(maybe': 0.31; '(usually': 0.31; 'asks': 0.31; 'bad.': 0.31; 'scripting,': 0.31; 'sites.': 0.31; 'there.': 0.32; 'probably': 0.32; 'languages': 0.32; 'run': 0.32; 'another': 0.32; 'open': 0.33; 'charge': 0.33; 'approval': 0.33; 'actual': 0.34; 'maybe': 0.34; "i'd": 0.34; 'subject: (': 0.35; 'something': 0.35; 'but': 0.35; 'received:google.com': 0.35; 'add': 0.35; 'building': 0.35; 'there': 0.35; 'useful': 0.36; 'subject:New': 0.37; 'so,': 0.37; 'two': 0.37; 'performance': 0.37; 'nov': 0.38; 'to:addr:python-list': 0.38; 'embedded': 0.39; 'sure': 0.39; 'to:addr:python.org': 0.39; 'either': 0.39; 'how': 0.40; 'even': 0.60; 'middle': 0.60; 'helps': 0.61; 'new': 0.61; 'skip:* 10': 0.61; 'simple': 0.61; "you're": 0.61; 'hear': 0.63; 'field': 0.63; 'choose': 0.64; 'more': 0.64; 'between': 0.67; 'it!': 0.67; 'production': 0.68; 'advantages': 0.68; 'specialize': 0.74; 'lack': 0.78; 'choices.': 0.84; 'compiles': 0.84; 'agreement.': 0.91; 'demand': 0.91; '2013': 0.98 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=0yrNRn39xnGlO52HIuy8RaClg8f+eArtWYCfmDkh8jE=; b=WWckgrmhF1gWM/3Bvj4+t86lEEyeHf5bniXSi3x+C9Uc30flCrcmmO0BjMnt4ZJjMt +V4rcfjHwhLyjR9JpuhaYpljLkEs5X5bKZoqbRCW/gwTKBT5nNMIVJb53//MxUyiQBxW 6SsQMG3OY3RV+LjmbuGqtpn060gHn1HUm6obsTugPnGJZ9fmXoEui1JNL0v/HLOhkg7x /GKZ+s5aoL/HKO17Bc+2ahmLgz3FH4yeHtPWODOFcOHY8Iw7lmA2CS8jzMfEG5eTfmiU u7etbo1QATpJpbbXiRM637lnDoG4Wv3Bu/NnBVDE0QqmsuBaX/VG4tbn1QZsG3rAfdig njJw== MIME-Version: 1.0 X-Received: by 10.68.254.105 with SMTP id ah9mr22314846pbd.87.1384037893635; Sat, 09 Nov 2013 14:58:13 -0800 (PST) Date: Sun, 10 Nov 2013 09:58:13 +1100 Subject: Languages for different purposes (was Re: New user's initial thoughts / criticisms of Python) From: Chris Angelico To: python-list@python.org Content-Type: text/plain; charset=ISO-8859-1 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 58 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1384037901 news.xs4all.nl 15955 [2001:888:2000:d::a6]:37697 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:58973 On Sun, Nov 10, 2013 at 8:21 AM, Mark Janssen wrote: >> I'd be interested to hear your thoughts on where the field of computer languages is heading, and how that affects the choice of languages for building web sites. > > Well, there aren't that many groupings towards which languages > specialize for (not including embedded or other application-specific > domains). There's OS scripting, Web scripting, and then the otherwise > general-purpose "normative" languages in the middle of those two > extremes. But this view presumes a model of computation which hasn't > settled into wide agreement. So, on what basis _would_ you choose a language for some purpose? Without speaking specifically of web development here, how do you choose a language? * Some languages are just fundamentally bad. I do not recommend ever writing production code in Whitespace, Ook, or Piet. * Some languages force you to do a lot of bookkeeping, memory management, etc. These are inferior unless their corresponding advantages (usually performance or memory use) justify it. * Some situations specifically demand one language. If you're writing code to be deployed on cheap web servers, it's probably going to have to be in PHP. If it's to run inside a web browser, it pretty much has to be JavaScript, ActionScript, or maybe something that compiles to one of those. But that would still leave you with a good few choices. When it comes down to it, how do you choose between Ruby, Python, Perl, Pike, JavaScript, , etcetera? I can think of a few considerations that may or may not be important... and I'm sure you can add more. - Library support. For web work, it might be useful to be able to create a PNG image on the fly (live graphs and such), or to have a simple one-liner that handles cookies and persistence. - Familiarity with the language. Why learn another one when you already know this one? - *Un*familiarity with the language. If you're going to have to learn, may as well charge your boss for it! - Proper Unicode support. For manipulating text, helps to be able to work with it as text. - Lack of proper Unicode support. Maybe it's easier to just work with bytes everywhere? :) - Ease/atomicity of deployment of new versions (maybe even while it's running) - Buzzwordiness? If your boss asks you to choose a language and you can say either "Ruby on Rails" or "CherryPy", are you more likely to get approval for the former? Something to throw open there. Citations from actual choices made a bonus. :) ChrisA