• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!
Collapse

You are not logged in or you do not have permission to access this page. This could be due to one of several reasons:

  • You are not logged in. If you are already registered, fill in the form below to log in, or follow the "Sign Up" link to register a new account.
  • You may not have sufficient privileges to access this page. Are you trying to edit someone else's post, access administrative features or some other privileged system?
  • If you are trying to post, the administrator may have disabled your account, or it may be awaiting activation.

Previously on "Retraining as a C# dev?"

Collapse

  • Hardgraft
    replied
    Originally posted by Jefferson View Post
    There is definitely very good opportunities within the oil and gas industries with GIS and software dev skills and money is very decent.
    Yes cheers Jefferson.

    I'm working as a junior dev in a firm who provide spatial data to the upstream Oil & Gas industry so must be headed in the right direction

    Shame there's no-one here to help me learn this ffing MVVM in WPF with Entity Framework though!

    Leave a comment:


  • Jefferson
    replied
    Originally posted by Hardgraft View Post
    Well I'm currently working and have a background in GIS (Mapping) so concentrating on mapping solutions/applications with C# WPF & SQL Server. Design in MVVM and learning the .NET libraries/WPF SDK supplied by ESRI who are the market leader in GIS software.

    Obviously this is extremely specialised as I'm sure most of your skillsets are, there are contracting opportunities in the field and needless to say the rates are decent.

    Cheers
    There is definitely very good opportunities within the oil and gas industries with GIS and software dev skills and money is very decent.

    Leave a comment:


  • Hardgraft
    replied
    Originally posted by BlueSharp View Post
    Hi HG,

    It is also worth thinking about what market sector you want to be a Developer in, as the skills needed in Investment Banking are vastly different then those in E-commerce or Digital Marketing and often RA will ask for candidates with relevant experience.
    Well I'm currently working and have a background in GIS (Mapping) so concentrating on mapping solutions/applications with C# WPF & SQL Server. Design in MVVM and learning the .NET libraries/WPF SDK supplied by ESRI who are the market leader in GIS software.

    Obviously this is extremely specialised as I'm sure most of your skillsets are, there are contracting opportunities in the field and needless to say the rates are decent.

    Cheers
    Last edited by Hardgraft; 4 October 2013, 14:04.

    Leave a comment:


  • BlueSharp
    replied
    Originally posted by Hardgraft View Post
    Seemed to have inadvertently caused quite the delegate debate here...

    Thanks for all your answers, seems like my predictions were correct, not going to become a half decent dev in 18 months.

    Time to knuckle down for a further 2 years or more and with the hard work the rewards will finally come. Wish I'd done this 5 years ago! Oh well, hindsight... I'm only 31 so hopefully haven't left it too late.

    Cheers all
    Hi HG,

    It is also worth thinking about what market sector you want to be a Developer in, as the skills needed in Investment Banking are vastly different then those in E-commerce or Digital Marketing and often RA will ask for candidates with relevant experience.

    Leave a comment:


  • Hardgraft
    replied
    Seemed to have inadvertently caused quite the delegate debate here...

    Thanks for all your answers, seems like my predictions were correct, not going to become a half decent dev in 18 months.

    Time to knuckle down for a further 2 years or more and with the hard work the rewards will finally come. Wish I'd done this 5 years ago! Oh well, hindsight... I'm only 31 so hopefully haven't left it too late.

    Cheers all

    Leave a comment:


  • d000hg
    replied
    Delegates are genuinely useful (although again they are only a time-saver to writing your own little class). Lambdas certainly come under a utility function category to me, but that doesn't mean I think they're pointless. They do allow you to write much more elegantly what you want to DO, a bit like how std::for_each seemed really cool but then you had to write all the stupid functor classes (until boost, etc came along).

    Leave a comment:


  • VectraMan
    replied
    Originally posted by DimPrawn View Post
    Delegate - Get someone else to do it for you.

    So you invoke the delegate and it invokes the function or functions if it's multicast.
    The function is called when you call it. It's just an indirect method of specifying the function - i.e. just like a pointer to function or loading the function into a register in assembler. I've never heard the word "delegate" used in the context of assembler; it's just a pointer or an address. "Delegate" implies something else calls the function, i.e. on a different thread or scheduled at a different time.

    There's lots of reason why you need and want lambdas.

    c# - What's the point of a lambda expression? - Stack Overflow

    For a start no lambdas no LINQ.
    Maybe it's terminology fail again (I'm not up on the C# specifics, just the C++ specifics), but if a lambda is a way of specifying an inline function, then is there anything you can do with it that you can't do with a closure/bind/delegate/pointer to function or whatever we're calling it? I can't see the benefit of declaring it inline beyond saving typing, and to do that they've introduced a new syntax that's completely alien to the previous 40 odd years of C based languages.

    Leave a comment:


  • doodab
    replied
    Originally posted by d000hg View Post
    In any turing-complete language, there are no reasons you 'need' lambda functions. Windows and Linux and Visual Studio were all written without them
    Windows & Linux are mostly written in C which doesn't "need" lambdas because it has function pointers.

    They are difficult to understand in an OO context because they aren't a natural part of the paradigm, they are grafted on in order to try and make it appear that functions are first class objects in a world where every function is owned by an object.

    Leave a comment:


  • eek
    replied
    Originally posted by d000hg View Post
    In any turing-complete language, there are no reasons you 'need' lambda functions. Windows and Linux and Visual Studio were all written without them

    If I'm hiring a C# dev I want someone who knows how to program more than someone who throws fancy new features around to show off.
    To be honest I thought the same when reading Nick's advice. I don't think I've created a windows application in years and simply don't see the demand in the market to justify learning it. Everything I've done is web based and its been that way for coming on for two decades.

    Even the windows apps I've done over the years have been front ends to data feeds...

    Leave a comment:


  • d000hg
    replied
    In any turing-complete language, there are no reasons you 'need' lambda functions. Windows and Linux and Visual Studio were all written without them

    If I'm hiring a C# dev I want someone who knows how to program more than someone who throws fancy new features around to show off. Loads of companies will still be stuck on .net 3 which means many excellent developers simply haven't been exposed to the newer features. Same goes for the new C++ stuff really - a good developer can learn that stuff as needed but the core is what counts.

    Leave a comment:


  • Hardgraft
    replied
    Yes. I've quite quickly learnt that I can't skim read the fundamentals of OOP and then expect to understand more advanced topics. Seems like you really need to know the basics well and then the more advanced topics will be fall into place as and when you need to use them.

    Fed up of being skint so that's my motivation to keep pressing on with the learning!

    Leave a comment:


  • DimPrawn
    replied
    Originally posted by VectraMan View Post
    Often it's the terminology. In my brief experience of C# I found the use of the word "delegate" highly confusing until I realised it was just a pointer to a function (more or less). In what way anything is "delegated" I've no idea.

    And I'm not convinced lambdas are a good idea, beyond perhaps saving on a bit of typing.
    Delegate - Get someone else to do it for you.

    So you invoke the delegate and it invokes the function or functions if it's multicast.

    There's lots of reason why you need and want lambdas.

    c# - What's the point of a lambda expression? - Stack Overflow

    For a start no lambdas no LINQ.

    I'm not sure any client should be hiring anyone that doesn't understand these things inside and out. It's the 21st century, programming languages have moved on and become powerful and expressive.

    Leave a comment:


  • VectraMan
    replied
    Originally posted by d000hg View Post
    All this delegates/lambda stuff is often as confusing to seasoned devs, it isn't what many/most of us learned so I wouldn't feel too bad. Learning solid programming that lambas help you avoid is well worth it (because in other languages you'll have no choice).
    Often it's the terminology. In my brief experience of C# I found the use of the word "delegate" highly confusing until I realised it was just a pointer to a function (more or less). In what way anything is "delegated" I've no idea.

    And I'm not convinced lambdas are a good idea, beyond perhaps saving on a bit of typing.

    Leave a comment:


  • d000hg
    replied
    Originally posted by Hardgraft View Post
    Just get lost in the examples when multiple classes, events etc appear but it'll come with time & exposure I'm sure.
    All this delegates/lambda stuff is often as confusing to seasoned devs, it isn't what many/most of us learned so I wouldn't feel too bad. Learning solid programming that lambas help you avoid is well worth it (because in other languages you'll have no choice).

    Leave a comment:


  • Hardgraft
    replied
    Yes, thanks I'll check out the C# 5.0 book

    I understand to a point that a delegate is a way of indirectly calling a method and ultimately several methods at once with multi-cast delegates via the invocation list. I know how to new up an instance of the delegate and call the delegate, passing in a suitable method as a parameter or add methods to the invocation list with += etc. I also have used simple lambda expressions to add methods to a delegate with a different return type or method 'shape' so I'm obviously building some understanding. Just get lost in the examples when multiple classes, events etc appear but it'll come with time & exposure I'm sure.

    Yes, I think I was very fortunate that my Geography & GIS background got me into my current role. I'm not being mentored by any other devs as it's a small company & my boss is an SQL guy so I have to really motivate myself learn off my own back. Luckily I normally get at least a few hours everyday when I can sit tinkering with VS or watching PluralSight videos so I'm in a fortunate situation re time for learning.

    Leave a comment:

Working...
X