Programming
Jun. 6th, 2003 04:22 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Well, the subject line has probably gotten rid of most of you, and this next line will almost certainly get rid of the rest.
I'm learning C#.
Right, now I've got this journal to myself (and boy, does it feel spacious without anyone else here), I'll explain why (to myself, obviously).
I've been meaning to get back into programming again, but the little bits of dabbling I've done have largely been hampered by the fact that I've not really had any projects I've been that interested in. Not only that, but I'm very, very bored of doing low level work - writing yet another bit of code to deal with files, or fiddling about with endless calls to do the simplest interaction with the outside world just doesn't interest me any more.
Also, having been programming in COBOL for the last 9 months, and having always been envious of the Visual Studio IDE when I was working in VFP (it's a fantastic IDE and does all sorts of things that are just smooooth), I thought I should work with something in that.
I can't be arsed doing garbage collection, and I wanted something that would allow me to easily write/read web services. Which leaves C#, which (by sheer coincidence) has the nicest IDE of the entire of VS.NET.
I've been working my way through Visual Studio.NET Step by Step, which has so far been very good. I've only spent a few hours on it so far, and am about 40 pages in, but the power of the system is already very apparent. The fact that I can great a GUI interface by dragging and dropping a few textboxes onto a form, then go into the code behind the form, alter the position of the items in the code-based declaration and then go back to the screen to find it's automatically updated itself is something I would have killed for a few years ago.
The XML commenting system, the collapsible procedure view, the fact that the compiler messages are actually useful and the intellisense basically make this the best environment I've ever worked in. Erin's away for the weekend and I have to say I'm looking forward to spending most of it in front of the computer, typing away.
I'm learning C#.
Right, now I've got this journal to myself (and boy, does it feel spacious without anyone else here), I'll explain why (to myself, obviously).
I've been meaning to get back into programming again, but the little bits of dabbling I've done have largely been hampered by the fact that I've not really had any projects I've been that interested in. Not only that, but I'm very, very bored of doing low level work - writing yet another bit of code to deal with files, or fiddling about with endless calls to do the simplest interaction with the outside world just doesn't interest me any more.
Also, having been programming in COBOL for the last 9 months, and having always been envious of the Visual Studio IDE when I was working in VFP (it's a fantastic IDE and does all sorts of things that are just smooooth), I thought I should work with something in that.
I can't be arsed doing garbage collection, and I wanted something that would allow me to easily write/read web services. Which leaves C#, which (by sheer coincidence) has the nicest IDE of the entire of VS.NET.
I've been working my way through Visual Studio.NET Step by Step, which has so far been very good. I've only spent a few hours on it so far, and am about 40 pages in, but the power of the system is already very apparent. The fact that I can great a GUI interface by dragging and dropping a few textboxes onto a form, then go into the code behind the form, alter the position of the items in the code-based declaration and then go back to the screen to find it's automatically updated itself is something I would have killed for a few years ago.
The XML commenting system, the collapsible procedure view, the fact that the compiler messages are actually useful and the intellisense basically make this the best environment I've ever worked in. Erin's away for the weekend and I have to say I'm looking forward to spending most of it in front of the computer, typing away.
no subject
Date: 2003-06-06 08:45 am (UTC)I spend a lot of my working life doing Access apps which are heavily dependant on VBA and uses a very similar environment. All the little things sound silly, but stuff like auto-capitalisation of declared vaiables (easy to spot if you mis-type them) make a big difference to the grind of churning out code. I love coding in Access for much the same reasons you cite for C#. Its just so easy to knock together a simple and powerfull GUI based tool. Ok, the Jet engine sucks as a back end, but you can always code round it or just use another engine.
But then I sold my soul to the MS devil years ago.
no subject
Date: 2003-06-06 08:51 am (UTC)"You can do it all with a text editor and a copy of gc"
but it's amazing how much more fun it is when you can say
"Here is my function, make it available over the web and then give me the declarations necessary to code the client."
and it just works.
And hurrah for multiple backends. When I did some simple stuff with MySQL on my hosted domain, the easiest way to get data out and analysed was to grab the ODBC driver, plug it into VFP and then do all the hard bits in there (I'm not as familliar with Access, by a long way).
no subject
Date: 2003-06-06 09:20 am (UTC)I've encountered a few of the 'I can do it anything in Vi' people and I generaly find them silly. I can walk to Edinburgh from London if I want to, but unless you're a masochist or have a really big point to prove its generaly more comfortable and quicker to use the train.
no subject
Date: 2003-06-09 01:33 am (UTC)no subject
Date: 2003-06-09 01:38 am (UTC)I have to write a lot of SQL for the VB I use and appart from the simple stuff its nearly always quicker to generate the query in the QBE view (in either SQL server or Access) then cut and paste the underlying SQL into the code, rather than typing it all longhand. Less chance of typos and mistakes as well. Never mind remembering it all, its just quicker than all that typing. But then I've been building queries that way for many years now, so theres as much habit as logic to it.
no subject
Date: 2003-06-09 05:38 am (UTC)I didn't do DOS either - VMS/UNIX at uni, mainframe cobol then VB (oracle/access/both kinds of SQL server, both MS and sybase) from 1994 on.
I find it just as quick to type SQL (and I can't type very well!). I'm not fond of enterprise manager for MS SQL Server (it's never been great in any version). I use the Query analyzser (ISQL-W replacement) as it has an object browser pane as well as the SQL text window.
Don't ask me about DTS (not if you want a polite answer anyway).
no subject
Date: 2003-06-09 06:59 am (UTC)But even using SP's you have to generate the text somewhere. when facing a four table query with different join types, 15 return fields and an aggregate somewhere. I can either spend 15 minutes labouriously typing it all out longhand, hoping i get all my punctuation right, or I can spend about 2 mins in the query builder and cut and paste the results. Usualy what I do is put together the bones of the query in the builder, then fine tune it in the text view. It just saves time.
I like Enterprise manager, but then I've been an Access coder since V2 so it appeals to my history. DTS can be a very powerfull tool, but it isnt the most intuitive of products.
I think VMS/Unix qualifies alongside DOS as a command line based entry into the industry :o)
no subject
Date: 2003-06-09 07:28 am (UTC)DTs would be a very powerful tool if it worked properly. Try using it to import from multiple non-MS and MS database sources (some spreadsheets too) and then set it up as a scheduled job. Oh and the whole lot has to roll back if any one stage goes wrong. I did and infintely regretted not writing a VB app that could run as an NT scheduled program.
I mean it worked ( this is me we are talking about here :-) ) but occasionally took fits with talking to Oracle and wasn't reliable on the rollback front.
no subject
Date: 2003-06-09 07:37 am (UTC)SP's are a much better way of doing things. Assuming the coders know what they are doing. In my last company I inherited a bunch of SP's that formed a data mathcing engine. Being very busy I just assumed it worked and left them alone. Sadly they knew sweet FA about SQL server and treated the tables like big arrays in code. Lots of nested queries and cursors all over the place. Worked fine in all the demos and test system, but when the company actualy sold something and got 5 million records in the DB, suddenly it was taking 3 hours to run. Seeing as how this was supposed to be running real time on a webpage and the entire system locked up while it was running, this was very bad. A few index's and midnight coding sessions later though I got it down to about 8 seconds. Moral of the story, never assume your predecessor was competent!
With reagrds to DTS, I am a shamless MS whore, so I've never used it with other technology. I have encountered the all the way rollback thing though and it can drive you nuts, especialy as its often difficult to work out which field is causing the error.
no subject
Date: 2003-06-09 08:24 am (UTC)And yes, never assume people are competent until they prove it. You should see the mess here cos some bright spark decided not to enforce any foreign keys. Indexes, yes (well there are now) but no referential integrity. makes is a pain in the backside to workou what teh relationships are!
no subject
Date: 2003-06-09 08:38 am (UTC)I have coded a couple of stand alone Access systems. The huge advantage of Access is how cheap it is. For the cost of a single Developer edition of Office you can deploy an Access app to as many people as you want, license free, using runtime deployment. This works out miles cheaper than a SQL solution. Provided you lay out the data well, and pay carefull attention to concurant users, it can do quite a good job as well. I'd still give my eye teeth for a SQL server though :o)
no subject
Date: 2003-06-10 01:15 am (UTC)Two words on cost: MSDN Subscription
Actually that doesn't help users (unless they have their own dev dept). Estimate maintenance costs for a year (@£550/day) and scare them.
[applause] thank you, thank you......
(apologies, still pissed from celebrating my birthday...)
no subject
Date: 2003-06-06 09:18 am (UTC)cos i have two for you
You said your self you have never wwanted more bandwidth since using waste, well, means it got your attention?? anyway, as we have seemn waste has a few issues.. so write one, that will recognise a file on many servers, like kazaa, but allows workgroup level sharing like waste, but with throttle ability, so the user can divert the bandwidth to the connected user they choos, not that the software chooses??
would get round the issues we had, and the issues I have with bandwidth, and would fix the issue guy and I had... sure I can think of more.. but I think the hrd bit will be stoping and starting downloads of a file and worse from many machines..
the other, is write the webserver side of the kensington game.. since i'm crap, and havn't started.. I realy want to write the AI bit, that communicates to the web server via a web service, since i need to try this web service thing out.
no subject
Date: 2003-06-06 09:23 am (UTC)HELLO
Delphi did that!
no subject
Date: 2003-06-09 01:30 am (UTC)I really should be doing C# (despite the fact that they have just started doing VB.Net here [not me, though, but peculiarly the dept head. I am not even going to speculate on that one). I know a fair bit about the internals of .net and the frame work but I can't find a book that is for experinced programmers. Well, Deitel&Deitel do one whcih Sean has, but 'experienced' to them appears not to mean experienced in Windows (or indeed even GUI programming of any sort)!
I so seriously need (from a CV point of view) to be doing .Net in my daily work. I will bring this up big style in my next rquarterly review.