Entries:
Comments:
Posts:

Loading User Information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading User Information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

Comments

MetaGunny MetaGunny
  • Erik Meijer: Functional Programming

    Thanks Sylvan.  That clarified it for me. 

    Although I'm sure there are other benefits, I'm presuming functional programming is being talked about more and coming back because of multi-core.

    So, the question is, is this all theory or is there a functional programming language I could start using today and write a massively parrell program in it easily?

  • Erik Meijer: Functional Programming

    Ifeanyie,

    Of course.  I would had said the same thing.

    However, a couple of things:

    1) The samples you gave used object oriented languages, not functional programming languages exclusively.

    2) I've watched all of the C9 videos on these functional programming languages.  I only remember one referring to a real world scenario which was in telecommunications.  I even watched a video on youtube when the interviewee was younger and the demo showed them crashing the system, where only one process or thread would die, and it wouldn't bring down the whole system.  How they could make changes live to the system and it would only affect new processes, etc.

    However, that really didn't relate back to the concepts of "purity", etc", of the why someone should use functional programming languages.

    I'm not approaching this with an argument of why not to use functional programming.

    Rather, I'm simply asking someone to explain the reasoning behind FP in a "KISS" way on why it's better than an existing programming language.

    Or, maybe it's not meant for real world use in today's world.  Maybe it's more of theory and bits and pieces are taken to enhance existing languages.

    I'm just looking for clarity on this subject.

  • Erik Meijer: Functional Programming

    I've watched all of the related videos.

    However, I'm assuming that you reference reading other material because you yourself don't truly understand the why.

    If you did, you could have explained it.
  • Erik Meijer: Functional Programming

    Let me answer my own question here a little bit.

    Where I think this would be useful is as a feature in an existing language.

    For example, if you could create a certain type with a certain state.  That way, if you have that special type you also know it has a certain state, or a certain value.  The equivalent (somewhat) of saying what Erik said in his video of you know you're going to get a certain type and a certain value, but really I mean state.

    This would be beneficial in the case of a string for example.  Let's say you create a new stringempty type, where whenever you get this value you back you know it will never be nothing.

    Why would this matter?

    It would eliminate all of the exceptions for people who don't check if string is nothing before trying to call the Trim() method on it for example.

    Imagine how many exceptions this would elimnate and how many lines of code it would eliminate.

    The bottom line is I don't care if a string is nothing, I just want to get the value, trim it, and see if it's equal or not equal to a certain value.

  • Erik Meijer: Functional Programming

    This doesn't make any sense at all.

    If in order to be truly "pure", why don't we just replace our code with nothing but a bunch of constants?

    We could then go around saying I write constants instead of I write code.

    I don't understand the thinking that in order to be truly pure, it has to return the same value.  Why can't it be pure if it returns the data type specified?  I.e., if I say I'm goign to pass you back a string, then you can know for a fact you are going to get a string returned. 

    Why do we care what the actual value is?

    Why would it make sense to have to specify not only the data type returned, but also that it's not a constant value by plaing <IO> in front of it?

    Also, what's up with the Let?  Why can't we just say x = "whatever"

    I think it would be better if you show a sample application, where this type of functional programming language shines.

    When we don't want our "world" to change, why doesn't it make more sense to use the concept of Interfaces when needed?

    I think the problem with the concept of purity and functional programming, is that it's trying to force programmers into a box of how mathmeticians think.    That logic falls apart because the need for a programming language is not simply to solve mathmetical equations.

    To step back and keep it simple, rather than talking about how it works;

    What problems does it solve?

    How does it make programming or the end-result better?

  • Tobii Technology Eye Tracking: Follow the eyes

    Charles,

    I think it would be better if you do the demo first, and then they talk about the demo.  That way, you have a visual in your head of what they are referring to, and can understand whatever they are referring to better.  Where, if you talk about it and then do a demo, you have to try to think of what they are talking about first, and then backtrack once you do the demo and relate the demo back to what they said before.

    Anyway, just a suggestion.  Keep up the great videos.

  • Expert to Expert: Brian Beckman and Sam Druker - Deep Entity Framework

    I never understood the entity framework, but now I do.  It seems very interesting.

    Currently, I have a data access class I wrote called "StoredProcedure".  I then have code generators to create the stored procedures, and the VB.NET classes.  It's specific to the type of operation, such as insert, update, delete, select as output params, select multiple, etc.

    Although I think it's very clean, replacing all of that with the entity framework, if it's clean and is performant, would be great.

    However, the stored procedure class I created offers quite a bit and has some intelligence in it.  For example, formating the sproc name, validation, not adding certain parameters if they don't pass validation and that parameter has a default, etc.

    Also, I plan on adding possibly some type of load balancing to it, possibly based on the stored procedure name (or parameter specifiying read only or data is modified by this sproc), and also user based specific connection strings.  (This way, for example, you can setup mirroing database, and have the read-only stored procedures executed on the mirrored database.)

    I'd be curious to see if the entity framework would be able to do this as well, and\or whether or not you can inherit and modify certain objects that are responsible for this.

  • JAOO 2007: Glenn Vanderburg - Dynamic Languages and More

    Charles,

    In terms of software composability, I would say, it's more about the programmer writing good code, rather than a new programming language.

    I think the two most important aspects of writing good composable software is A) interfaces and B) reflection.

    That's all you need.  Then, in your house example at the end, if you have a component that implements an interface, all you have to do is rewrite it or write something completely new and call the new component instead of the old one, or use a factory pattern.

    Thanks, Justin
  • Tony Bernard on BizTalk

    I actually wrote our own EDI system in 2 months, plus an integration going on at the same time with a trading partner.  It's only been used for the transportation industry so far, but it's processed at least a couple hundred thousand messages.   The 2 month system was a rewrite of the first time I wrote the EDI system.  The first EDI system I wrote when I was brand new to EDI had an XML system that would map the EDI to a table, and do an insert or update on a table.  It started getting to complex to support every scenario in XML, so I rewrote and the second version is a lot better.

    Of course it can't compare with a system like BizTalk, but it's not bad for a pure EDI system.  So there isn't a tight coupling it will use reflection, and load an assembly dynamically and call it to actually do the processing on EDI message.  However, there are objects that the external dll's use to read/create the EDI file itself, for example, to read or create an EDI "compatible" date\time value.  It doesn't have a full GUI, and everything else, like deep validation of every type of transaction set and every segment/offset when creating the 997 response.  The last I checked into BizTalk, the deal killer was having to purchase a license for each individual company or server.

    It looks very interesting and complete though.
  • Windows Mobile 6.0 Things and Stuff

    This is really good but is it available yet on the palm treo 700w?  In the video I think he mentioned this video is going to be released after it's available.

    I'm surprised to hear anyone likes the tmobile dash over the treo.

    Also, it would be nice to have some basic features fixed/added like adding a phone number that just called you to your contacts without having to memorize it, better call conferencing (my little crappy nokia was a million times better than the conferencing on the 700w), keeping an e-mail marked as read when I then move it to another folder (when viewed in outlook on my desktop it's unread but in the folder), etc.

    Hopefully you guys start doing more smaller incremental improvements instead of always big picture let's change the world type stuff.