while (true) {

wallinbl

Ars Legatus Legionis
12,014
Subscriptor
upstateal":2vvwh1dn said:
river-wind":2vvwh1dn said:
Having used PHP, I'm not surprised other things* are better.

I am surprised to hear that thing*=ASP (last touched ASP in ~2000)
The ASP you used in 2000 is nothing like ASP.NET.
No kidding.

I do PHP sometimes because a friend needs something modified or customized, but I can't stand it. The difference between using PHP and C#/ASP.Net is astounding.
 

Blacken00100

Ars Legatus Legionis
10,130
Subscriptor
hanser":1d9nijd4 said:
I used ASP.NET last night for the first time. (I've used C# and .NET in general a fair bit in the past.) It makes me never, ever want to touch PHP ever f'n again. It's, at best, a third-class citizen for developing web applications.
Now you see why I have spontaneously grown a monocle and a disparaging accent when talking about PHP.

ASP.NET, though...eh. It's better than PHP, of course (this is just self-evident), but I'm not convinced .NET is a very smart platform for web development. In addition to "Windows servers, u srs?", it seems like they really and truly do go out of their way to not ensure immutability, which after going heads-down on Scala seems to nearly be a requirement for sane web development that won't end up with code that's a mess. (To the best of my knowledge, there is precisely one readonly collection class in .NET 4 or lower. WTF?)

I'm currently looking at Lift, but it's view-first and feels brain-damaged. I might end up building an OSS project to provide what I want in Scala, unless Play 2.0 gets there before I do (because Play 1.1 is unusable in Scala).
 
  • Like
Reactions: Xenan

Blacken00100

Ars Legatus Legionis
10,130
Subscriptor
ShuggyCoUk":1hzi0ya4 said:
they really and truly do go out of their way to not ensure immutability,

Honest question. would doing something like this help?
It would, but F# is, IMO, too functional to be practical. One of the nice things about Scala is that, where appropriate, you can more or less write imperative Java. F# makes that a lot harder.

The bitch of it is that the design of the .NET BCL precludes really adding a set of immutable classes in a meaningful way. I mean, IList<T> actually has an IsReadOnly property, because, as we all know, OO is too goddamn hard! I guess IList<T> and IMutableList<T> were apparently too difficult of a concept. But the most infuriating part is that since they've derped along the way they are, the mistakes can't really be changed in user code without writing a whole second set of classes that don't play nice with the BCL classes and argh.

EDIT: Actually that's not completely true, you could write a Guava-esque library and implicitly cast stuff into BCL-land, but that'd be obnoxious to work with.
 

ShuggyCoUk

Ars Tribunus Angusticlavius
9,975
Subscriptor++
Helpfully in f# seq<t> is simply an alias for IEnumerable so for readonly (as opposed to persistent) collections usage it largely works fine.

Passing the immutable maps/lists back to the rest of the .net world as anything other than Enumerable<T> is horrid though.

There is an FSharpx project which includes some stuff that tries to make the interop in that direction easier. I have no experience with it whatsoever though.

The somewhat brain dead BCL basis really does make this a royal PITA.

Given other limitations of f# (it is far to easy to miss an implicit allocation) it's not currently used on the hot path, which means f# -> c# interop issues are side stepped. I'm not altogether sure if that isn't, in the long term, for a large complex project, a bad thing. If you gimp your usage of a more powerful abstraction because it makes using the less powerful language a pain then it seriously questions whether it was worth introducing the layer in the first place. If you're (almost) always in a leaf node though then you can knock yourself out with the good stuff with wild abandon (then cry as the debugger fails miserably to comprehend it :))
 

upstateal

Ars Scholae Palatinae
1,013
Blacken00100":102xr8y3 said:
Crashy as hell on OS X, acceptable on Windows and Linux. Decent incremental improvements and some significant perf benefits when doing local tree operations (svn stat, etc.).
Which OS X build are you using?

I've upgraded 2 Windows boxes to 1.7, but haven't used them extensively. Haven't upgraded my primary desktop yet because I have to upgrade AnkhSVN, Subclipse, Tortoise andthe command line together, have a bunch of stuff that I'd like commit before I do the upgrade and, well, I'm lazy.

Blacken00100":102xr8y3 said:
Haven't upgraded the server to it, and probably won't; too many old clients.
You don't have to upgrade clients in lockstep with the server.
 

Blacken00100

Ars Legatus Legionis
10,130
Subscriptor
upstateal":3s88iqdn said:
Blacken00100":3s88iqdn said:
Crashy as hell on OS X, acceptable on Windows and Linux. Decent incremental improvements and some significant perf benefits when doing local tree operations (svn stat, etc.).
Which OS X build are you using?
Whatever the one was when I downloaded it? It wasn't home-rolled or anything.

Blacken00100":3s88iqdn said:
Haven't upgraded the server to it, and probably won't; too many old clients.
You don't have to upgrade clients in lockstep with the server.
You do when SVN 1.5 clients, which we still have and can't change, hork files from 1.6 servers.


I'd rather just fucking tube SVN entirely. Working on that...
 
Blacken00100":2p5gtrh5 said:
You do when SVN 1.5 clients, which we still have and can't change, hork files from 1.6 servers.


I'd rather just fucking tube SVN entirely. Working on that...
Can't 1.6 servers host repos in 1.5 format? Then you may not get the benefits of the 1.6 format but you get general performance/stability improvements and maybe some peripheral features that 1.6 server brings.
 

upstateal

Ars Scholae Palatinae
1,013
newwb":385o6rku said:
Blacken00100":385o6rku said:
You do when SVN 1.5 clients, which we still have and can't change, hork files from 1.6 servers.


I'd rather just fucking tube SVN entirely. Working on that...
Can't 1.6 servers host repos in 1.5 format? Then you may not get the benefits of the 1.6 format but you get general performance/stability improvements and maybe some peripheral features that 1.6 server brings.
Yes they can.

Any 1.x client can talk to any 1.x server. I'm having trouble figuring out what the issue is here, unless Blacken is using file:// to access some of those repositories instead of one of the RA layers & an actual server (HTTP/svnserve).
 

Blacken00100

Ars Legatus Legionis
10,130
Subscriptor
There are documented data issues with 1.5 clients and 1.6 servers (conflicts that cannot be resolved, for example; see this for an approximation of what I've seen in practice). We've seen it happen here and it's happened elsewhere, and is not a recommended configuration.

Again, I'd rather kill SVN off entirely instead, because it sucks so. goddamn. hard.
 
glenthas":2hlhw94l said:
river-wind":2hlhw94l said:
It seems .NET makes everything better, except for VB.

No, it made VB substantially better as well.

It still sucks, though. Up until VS 2010, VB.Net was always the second class citizen. It's only with 2010/.NET 4 that they've decided to bring the languages closer together. Despite that, VB.Net is still really, really clunky, especially the newer stuff, and it really doesn't do a lot to help people get rid of the awful programming habits they picked up in VB6. One of my former colleagues converted some VB6 code to .NET by basically copying and pasting it in its entirety. He didn't use collections, classes, ADO.NET or anything. Microsoft could have taken the opportunity to resolve some of the extra-crappy things about VB6 when they made VB.Net, such as short circuit AND/OR/etc operators (which IIRC they did introduce at one point (before introducing AndAlso/OrElse in VB.NET 2005, but too many people complained about it so they took it out); they could have required strict type checking (or at least turned it on by default).
 

ShuggyCoUk

Ars Tribunus Angusticlavius
9,975
Subscriptor++
I just today had a deeply vexing issue where I was trying to merge from trunk to a feature branch and it wouldn't merge in some directory changes (case change in trunk) no local edits to these at all it just got its knickers in a twist saying I couldn't commit, I needed to run cleanup (which I did but to no avail)

I had a look for a while, but once I found out the case change thing I decided to give up, just marked the changes as done (thankfully that get out existed) and then use BeyondCompare to bring it all into line by hand then commit.

I was about ready to stab something, perhaps myself.
 

Paul Hill

Ars Legatus Legionis
19,878
William Munny":12aejm34 said:
Microsoft could have taken the opportunity to resolve some of the extra-crappy things about VB6 when they made VB.Net, such as short circuit AND/OR/etc operators (which IIRC they did introduce at one point (before introducing AndAlso/OrElse in VB.NET 2005, but too many people complained about it so they took it out); they could have required strict type checking (or at least turned it on by default).

They did but chickened out. I coded for years in VB6 (eyebrow twitch) and VB.NET - yeah, it's similar but I really don't know what the point was. There's some Nice Things in VB.NET - events are just plain better than C#, exception catches can be filtered, XML literals are awesome etc. etc. - but it's crippled by backwards compatibility to VB6 yet at the same time doesn't run VB6 out the box. A full-on bit compatible VB6 that runs on top of the framework would have been great, an evolution of the language that dropped dopey shit like "on error resume next" and VB6's incoherent type coerceon would have been great but what we ended up with was such a mishmash. VB6 devs hate it and .NET devs hate it.
 

Richard Berg

Ars Legatus Legionis
43,037
Subscriptor
DrPizza":2vhd6of6 said:
No, it made it substantially worse.

Visual Basic was never meant to be a good programming language. It was meant to be an accessible one. This objective has been substantially undermined by .NET and VB.NET.
By this standard, Powershell is the new Basic.

Or maybe Lightswitch, depending on target audience.
 

devjames

Wise, Aged Ars Veteran
107
ShuggyCoUk":3d43ho7d said:
I just today had a deeply vexing issue where I was trying to merge from trunk to a feature branch and it wouldn't merge in some directory changes (case change in trunk) no local edits to these at all it just got its knickers in a twist saying I couldn't commit, I needed to run cleanup (which I did but to no avail)

Perhaps a pre-commit hook that aborts the commit if a filename case problem is found (like this one at https://ctf.open.collab.net/sf/wiki...svnedge/wiki/CaseInsensitivityDetectorOnWin32)

While I generally like Subversion and haven't had any real problems with it so far (3 years and counting) the Windows filename casing thing is... vexing. I solved it by deleting, commit, adding as new the changed case file, and commit again. Luckily it was wsdl stuff with no history.
 

hanser

Ars Legatus Legionis
41,687
Subscriptor++
TheEternalVortex":2vitzaw9 said:
It seems like there is still a huge amount of new code written in PHP, even in places that otherwise use very modern tools. I'm not really sure why. C# .NET is cool but doesn't seem to be used much in the startup community.
How many startup types use Windows? Not many; most of them use Macs if the pictures and office tours you see on sites like TechCrunch are any indication of broader trends.
 

ShuggyCoUk

Ars Tribunus Angusticlavius
9,975
Subscriptor++
A big selling point to many businesses of many MS technologies is immensely comprehensive backward compatibility support (even if something is left in limbo without even security patches they rarely break things).
One can argue the merits of this for the long term health of the platform but damn if it doesn't save many businesses asses.
For a start up none of this matters, they should be as agile as possible anyway.
 

Blacken00100

Ars Legatus Legionis
10,130
Subscriptor
TheEternalVortex":y5e0u8r9 said:
It seems like there is still a huge amount of new code written in PHP, even in places that otherwise use very modern tools. I'm not really sure why. C# .NET is cool but doesn't seem to be used much in the startup community.
I consider myself fairly expert with C# and .NET, and I won't use it for any potential startup ideas. The overwhelming majority of them are websites/web services, and both ASP.NET (MVC or not) and Windows Server are incredibly unpleasant. If Mono on Unix was at least reasonably capable of dealing with WCF or there were more mature non-ASP.NET web technologies, I'd reconsider, but in the meantime, why bother when Java actually does what I need? I can write good code in any language; C# isn't special enough to subject myself to Windows server administration and forego cheap usage of the cloud.