Live data from Hacker News

Announcing Azure Command-Line Interface 2.0 Preview

azure.microsoft.com

121–130 of 161 posts

Re: Announcing Azure Command-Line Interface 2.0 Preview

#121
post #94
post #65

Earlier quoted context omitted.

Hurray, here we go again! Uhh no, JavaScript is just fine, baring: * implicit conversions, which you can get rid of at compile time using TypeScript or Flow. * lack of explicit ints and ints with more than 31 bits (JITs can give you SMIs, or 31 bit integers for things they can prove are always integer values) And thats about it.

> implicit conversions, which you can get rid of at compile time using TypeScript or Flow. Javascript is fine if you don't use Javascript. > lack of explicit ints and ints with more than 31 bits Javascript is fine, except where it's garbage. I don't really have a problem with javascript. I just don't want to build anything of any real complexity with it.

What I'm saying is that JS actually has a small amount of quirks compared to other dynamic languages. Just think about PHP's named functions, which are always in the global scope. Except when they are in namespaces (oh hi another concept), and then its kinda weird because namespaces are relative. There are no first class named functions, but function expressions can be assigned to variables. Which must be prefixed with $. There are no real modules, or proper scope; JS in turn implements modules cleanly on top of closures with lexical scope and objects.

In ruby, blocks are like lambdas except when they are not, and you can pass a block explicitly or yield to the first block implicitly. But there are also lambdas, which are different. Modules are again uselessly global, and cannot be parameterised over other modules (without resorting to meta programming). Oh yeah they are also another syntactical and semantical concept. Why not just `Module.new`? And there are classes, with private variables, which are prefixed with @.

The above examples are just scratching the surface

So yeah, I'm tired of people claiming that JS has the same amount of quirks as PHP. Boo hoo, its so horrible: no large ints, and implicit conversions. Compared to that, Ruby, PHP or (god forbid) Perl (1) cheating a bit here, because you could argue that Lisp or Lua are mainstream enough.

Re: Announcing Azure Command-Line Interface 2.0 Preview

#122

Earlier quoted context omitted.

> i'm sure i'm going to burn karma for comparing node with vb but... I'll take the hit for you and flat-out say that node.js is the new VB. In fact, for those of you that have been around a while, I think we can all agree that node.js is the new PHP was the new Visual Basic, etc. Not in the sense that they do the same things, but that they were purposely built for non-programmers (baby-devs) to be able to program (wh…

You do realize that Python was not only built to appeal to "non-devs" as well ad devs but, does, in fact, enjoy some of its strongest support from them- scientists, engineers, statisticians, etc., who do not consider themselves to be good developers. And, man, they can develop some crappy code/systems in Python too. I like Python too (as well as node,) but your characterization of node is over-broad and, imo, inaccur…

Python was built to be simple, yes. But it was built by people who understood that simplicity means things like "explicit is better than implicit" and "there should be one - and preferably only one - obvious way to do it". So it's a language that takes an inexperienced coder, and makes things easy for them, while also gently guiding them towards the safer (if possibly longer) path.

This is in stark opposition to "just let me quickly do stuff, and I don't care if the resulting code is buggy and unreadable" - the VB6/PHP school of language and framework design. Which, unfortunately, seems to be a rather popular approach in the JS ecosystem, as well.

Re: Announcing Azure Command-Line Interface 2.0 Preview

#123
post #91

Earlier quoted context omitted.

Python is outstanding for nearly every purpose I've thrown at it, and I was a strong Java developer. Now if anyone asks me if they should learn R/Matlab/Java/C, I say "Sure, but learn Python first."

Which Python? We have two of them now.

Python 3 for all intents and purposes, unless you're in a field where Python 2 is still prolific (but if you are, then you probably already know that).

Re: Announcing Azure Command-Line Interface 2.0 Preview

#124

Earlier quoted context omitted.

> You do realize that Python was not only built to appeal to "non-devs" ... as an alternative to C++ and Perl. And in that respect, it is a snap to pick up. It is pretty easy, not as easy as, say, Javascript, but still easy to pick up, I agree. Node.js is cancer. We all use it, because of the momentum it has with designers instantly being able to declare themselves "full-stack devs", but make no mistake -- Node.js an…

If you're not a .NET developer, what are you realistically going to use that hasn't already been dated? Rails? Django? Perl? PHP?

Can't answer for webdev, but for anything else, python and c++ with some mature library packs (boost, qt, eigen, scipy etc). They are not 'dated' in that tey don't have any expiration date. As N.Taleb points out in Antifragile, the best predictor of an idea's remaining lifetime is its current lifetime.

I like to think of C++ and Python as of concrete and wood: if you are to build houses, you better know concrete and wood. There are more fancy materials and prefab assembly, true, but these are better left for quick and dirty work for now, and used by people who already know concrete and wood.

It's sad Object Pascal has died, it was a good language with good history. C# has some of its legacy, I'd use it more but last time I checked, Mono still has severe performance problems.

Re: Announcing Azure Command-Line Interface 2.0 Preview

#125

Earlier quoted context omitted.

"as an alternative to C++ and Perl" Do you have a citation for that? My understanding of the timeline and Guido's writings on the subject make it seem very unlikely that C++ or Perl had any significant impact on the decision to create Python or the design of Python. Python would very likely still exist in a world without C++ or Perl, as far as I can tell. Python isn't even in the same lineage as either of those langu…

Didn't Guido post a tongue-in-cheek ad for Python to a/the Perl mailing list in Python's early days? I tried to find it now but no luck.

I don't remember it, but I wouldn't doubt it. Certainly, both Guido and Larry have made tongue-in-cheek comments about Perl and Python and the (good-natured) competition for mind share. And, features have been borrowed in both directions, and many developers have gone back and forth (I certainly have multiple times across a couple of decades).

Re: Announcing Azure Command-Line Interface 2.0 Preview

#126

Earlier quoted context omitted.

> i'm sure i'm going to burn karma for comparing node with vb but... I'll take the hit for you and flat-out say that node.js is the new VB. In fact, for those of you that have been around a while, I think we can all agree that node.js is the new PHP was the new Visual Basic, etc. Not in the sense that they do the same things, but that they were purposely built for non-programmers (baby-devs) to be able to program (wh…

As someone who does a ton of Node/JS coding as well as some Python, I am personally offended! Ok, not really, but I think you're wrong :) I think VB is more similar to Python in the sense that both languages were designed with some sense of simplicity and straight-forwardness in mind. Both PHP and Javascript are much more complex from a language design standpoint, which makes them more difficult to learn "well" for b…

VB is also an incredibly complex language, especially the pre-.NET versions.

It didn't even have a regular syntax for the sake of backwards compatibility. For example, Line was a method on Form (kinda eh, but okay); but you couldn't actually invoke it as you'd normally invoke a method. It had to look like the LINE statement did in BASIC circa 70s:

  form.Line (1, 1) - (100, 100), vbRed
Note that parentheses here are not some kind of tuple syntax. Instead, they're a part of the special Line syntax, as well as the dash between. On the other hand, vbRed is just a named constant.

But wait, it gets better. Say, you want to draw a filled rectangle. Well, a rectangle is also defined by two points, so BASIC has historically used the LINE statement for that as well, and VB follows suit:

  form.Line (1, 1) - (100, 100), vbRed, BF
Unlike vbRed, BF here is not a variable name - it's more special syntax. "B" stands for "block", and "F" stands for "fill" (so you can do "B" without "F").

Note that you can have a variable named BF. And if you do something like, say:

  form.Line (1, 1) - (100, 100), BF
That is legal, and uses the value of that variable as the color of the line (instead of drawing a rectangle, as you might have expected). And it'll probably work, too, regardless of the type of "BF", because VB tries incredibly hard to implicitly convert something to something else when types don't match.

Note that all of this is part of the language syntax, not the library. The actual function just takes a bunch of arguments, same as any other; but the language then piles all this useless syntactic syrup on top of that.

This is just one tiny corner of the language, and not even the most headache-inducing one - you hit it once, you read the manual, and mostly that's that. But then there's stuff like default properties and the Let/Set distinction:

   Let x = y
   Set x = y
In VB, these two statements are both assignments, but what they assign to is different. And you actually have to know and understand the difference, because there isn't just one assignment syntax that does the right thing for everything - some types only work with Let, and some types must be assigned with Set to get what you want.

Re: Announcing Azure Command-Line Interface 2.0 Preview

#127
post #117
post #64

Earlier quoted context omitted.

ActiveX? https://en.wikipedia.org/wiki/ActiveX

I think they mean Active Server Pages, ie. classical ASP, which you could program using Visual Basic?

ASP was programmed using VBScript (and actually extensible - it used Active Scripting, so you could also do JS, and third parties added support for e.g. Perl). And, since it was server-side tech, and very low-level at that, it didn't care what browser rendered the output.

I think this was a reference to ActiveX. Although most ActiveX controls weren't written in VB, either, even though you could do it - the resulting control was just too large to download, because you had to include ~2 Mb of VB runtime (remember, we're talking about the time back when dialup was still incredibly common - and 2 Mb takes 5 minutes to download on 56k). Mostly it was done in VC++ with ATL.

Re: Announcing Azure Command-Line Interface 2.0 Preview

#128
post #91

Earlier quoted context omitted.

Python is outstanding for nearly every purpose I've thrown at it, and I was a strong Java developer. Now if anyone asks me if they should learn R/Matlab/Java/C, I say "Sure, but learn Python first."

Which Python? We have two of them now.

I've recently completed a project of moderate complexity. I began development on Python 3 in a Jessie vm, and later ported to and deployed on Python 2.6 on CentOS 6.

The process was not without its challenges, but developing on a modern platform and backporting was a breeze, and I'm not worried about upgrades.

Re: Announcing Azure Command-Line Interface 2.0 Preview

#129
post #25

I haven't used the new Azure cli, but a major issue with the node.js based cli was that it was heavily oriented towards interactive use and not well suited for use by scripts. Hard to parse output, prompt for parameters instead of accepting them on the command line, etc.

Also, if you do scripting a lot, at some point you might want to go straight to the Python Azure management SDK (pip install --pre azure).

Re: Announcing Azure Command-Line Interface 2.0 Preview

#130

Earlier quoted context omitted.

All of these platforms offer a free trial and a lot of products have free tiers. I'd check them out and decide for yourself. (I work for Google Cloud and am happy to answer questions about GCP)

Are you familiar with people porting code/applications that were intended to be run on a Linux cluster (using MPI over Infiniband) to one of these cloud services? We have some people at work asking whether this is possible. Sort of like HPC on demand. I'm guessing the interconnect between the nodes isn't as low-latency, high bandwidth as IB, but I may be wrong.

You can do this on AWS EC2 with MIT StarCluster; it's got an MPICH2 plugin. StarCluster is pretty great although development has stalled a bit. I haven't used it for MPI-type workflows, but I have done a lot of embarassingly parallel modeling on tens of EC2 instances, and it works pretty well.
Post reply on HN