CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 13 of 13
  1. #1
    Join Date
    Apr 2009
    Posts
    12

    why did you choose the programming language(s)you currently use?

    So you have chosen programming language "x" so shall you tell us why you did so , and what negatives or positives it has ?

  2. #2
    Join Date
    Jul 2006
    Posts
    297

    Re: why did you choose the programming language(s)you currently use?

    Really the programming language depends on many different things.

    What OS you're working with? How much money you have to spend on the development environment and production environments? What platforms you want your product to be available to? What type of application are you developing? How much time do you have to develop the project? What are the majority of your programmers familiar with?

    If your asking just a general question such as this the answer is too vague. Every language has its positives and negatives. Is there something particular that you're attempting to develop?

  3. #3
    Join Date
    Jul 2007
    Location
    Illinois
    Posts
    517

    Re: why did you choose the programming language(s)you currently use?

    I dont use just one language, I use everything from C/C++ (some Win32 AND learning embedded systems) and I use C# at work. We decided to use C# because I was hired in to fix some software problems with the companies software but it had been written using MFC and it was written extremely poorly. So I had a sit down with my boss and told him that I could rewrite the whole thing in C# faster than I could fix the C++ version and thats how we got started.
    R.I.P. 3.5" Floppy Drives
    "I know not with what weapons World War III will be fought, but World War IV will be fought with sticks and stones." - Albert Einstein

  4. #4
    Join Date
    Jul 2006
    Posts
    297

    Re: why did you choose the programming language(s)you currently use?

    I started off learning C++ when i was first programming, it does take more time to develop a C++ application than if you were to do the same thing in C#.

    The C# is easy to learn if you know any other languages. Picking up all the different libraries and using them in C# is incredibly simple, not to mention that its all documented very well with working examples of it in use. With the amount of web applications being developed now C# is becoming a very handy language to learn.

    I've been using C# for about the past 1 1/2 years and I feel I have enough grasp on the language already to tackle just about any project. 1 1/2 years of experience with C++ i feel like I barely made a dent.

  5. #5
    Arjay's Avatar
    Arjay is offline Moderator / EX MS MVP Power Poster
    Join Date
    Aug 2004
    Posts
    13,490

    Re: why did you choose the programming language(s)you currently use?

    Monalin, I suspect that in your 1-1/2 years with C++, you probably got pretty good at the C++ end of things. But as you know, knowing C++ and being able to build a complex application is two different things.

    If you are going to build a world class windowing app in C++, generally you also need:

    Win32 windowing apis or
    Some windowing framework like MFC or WTL
    Want printing? need to learn the print api's
    Access to the file system? need to learn the file system api's
    App does networking? Learn networking api's
    Graphics app? need to learn DirectX, but before that...
    COM/DCOM
    Web programming? Um, you can do it in C++ but it isn't easy.

    A language like C++ is just a starting point.

    Programming in a .Net environment with something like like C# really does reduce the development time. In .net, there is more continuity and less disparate technologies 'islands' so it's easier to implement a complex application. The newer technologies like WPF, WCF, and WF even bring more to the table.

  6. #6
    Join Date
    Jul 2006
    Posts
    297

    Re: why did you choose the programming language(s)you currently use?

    Precisely what I'm talking about. Then again when I was learning C++ i was not employed anywhere so no one to mentor me. Not that it would be impossible for me to teach myself, but there is just so much information required to build a functional C++ application its all overwhelming when you're beginning.

    I tried to get into the Graphics programming awhile ago in C++ only to find out that i needed to know Win32 programming and COM before i can even begin to use something like OpenGL or DirectX. Even so learning one of those graphic API's is no easy undertaking, sure creating a window and drawing a line or triangle is simple, but that's just the beginning.

    When I program in C# I can type what I'm trying to do in google and instantly be pointed to documentation showing me how to do it. This allows me to spend that extra time writing robust code that is extensible. The only thing I don't like about C# is that it makes some things so easy, I feel like I'm cheating. I liked the challenge that C++ had, but I still manage to challenge myself all the time with C# its just harder.

  7. #7
    Join Date
    Jul 2007
    Location
    Illinois
    Posts
    517

    Re: why did you choose the programming language(s)you currently use?

    Ive found that knowing Win32 C++ as well as C# has many benefits as well. Ive run into problems with some of the .NET classes in C# that without prior knowledge of Win32 C++, would have kept me banging my head for days. Alot of the classes in C# are pretty thin wrapper classes for Win32 functions but some of them are more complex, like the SerialPort class.

    I remember having an issue when calling SerialPort.Open() and then unplugging a prolific USB adapter. Somewhere in the SerialPort class an exception was getting thrown that I could not catch. So I booted up VC++, dug around in the Win32 API a bit and found that a Win32 function was being called that was running a separate non-user thread and the exception was being thrown from that thread.

    It just sometimes helps immensely in C# if you know the ropes of Win32 C++ like the back of your hand.
    R.I.P. 3.5" Floppy Drives
    "I know not with what weapons World War III will be fought, but World War IV will be fought with sticks and stones." - Albert Einstein

  8. #8
    Join Date
    Jul 2006
    Posts
    297

    Re: why did you choose the programming language(s)you currently use?

    Yeah i ran into an issue like this with C# as well. Had a website which had a process running in a background thread... probably not a good idea to begin with but none the less. This background thread needed access to a UNC share. I had to impersonate a user with the proper credentials for that thread. The only way I could find to do this was to use some of the old Win32 API functions.

  9. #9
    Arjay's Avatar
    Arjay is offline Moderator / EX MS MVP Power Poster
    Join Date
    Aug 2004
    Posts
    13,490

    Re: why did you choose the programming language(s)you currently use?

    I started with C# in about 2003 timeframe. Actually I looked at it earlier and wasn't all that impressed. I remember writing up a rather scathing email to a programming friend of mine how limited C# or rather the .Net development environment was). At that time, I had already learned what I needed to develop professional apps in C++ and the other necessary technologies. It was frustrating to me that 1) there wasn't any docs written to allow me to go from Win32 api to equivalent .net classes and 2) the .net classes that were available were only partially implemented.

    How wrong I was about C#/.Net. It took a few versions to mature, but the newer technologies just rock. I particularly think the data binding in WPF is really cool. On occasion (usually from answering questions on code guru, I go back and write things the old way) and it makes me appreciate how the development environment has evolved.

  10. #10
    Arjay's Avatar
    Arjay is offline Moderator / EX MS MVP Power Poster
    Join Date
    Aug 2004
    Posts
    13,490

    Re: why did you choose the programming language(s)you currently use?

    Speaking of WPF. Here's a simple WPF that plays a video inside a button. When the user clicks on the button, a intro.wmv file plays. Not very useful, but shows the power of WPF. Imagine trying to reproduce this behavior in a native app.

    Here's the complete declarative xaml code listing:

    Code:
    <Window x:Class="VideoButton.Window1"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
     Title="Video Button"
     WindowStyle="ToolWindow"
     ResizeMode="NoResize"
     SizeToContent="WidthAndHeight"
     WindowStartupLocation="CenterScreen" >
      <Grid Background="DarkGray">
      <Grid.RowDefinitions>
        <RowDefinition />
        <RowDefinition />
      </Grid.RowDefinitions>
      <Grid.Triggers>
        <EventTrigger RoutedEvent="Button.Click" SourceName="buttonPlay" >
          <EventTrigger.Actions>
            <BeginStoryboard x:Name="beginStoryBoard">
              <Storyboard>
                <MediaTimeline Source="intro.wmv" Storyboard.TargetName="player" />
              </Storyboard>
            </BeginStoryboard>
          </EventTrigger.Actions>
        </EventTrigger>
      </Grid.Triggers>
      <TextBlock Grid.Row="0" Margin="5" Text="Click button to play video" /> 
      <Button Margin="5" Grid.Row="1" x:Name="buttonPlay" Background="DarkBlue" Height="50" Width="65">
        <MediaElement Stretch="Uniform" x:Name="player"/>
      </Button>
     </Grid>
    </Window>


    Screen shot and solution...

    Attached Images Attached Images  
    Attached Files Attached Files

  11. #11
    Join Date
    May 2002
    Posts
    10,943

    Re: why did you choose the programming language(s)you currently use?

    Each language has positives and negatives. It would be a lot of work to explain each one, because the average programmer does not use just one.

    One that I highly love is PHP. The libraries available make it a great tool to get so many different projects accomplished.
    If the post was helpful...Rate it! Remember to use [code] or [php] tags.

  12. #12
    Join Date
    Jan 2002
    Location
    Scaro, UK
    Posts
    5,940

    Re: why did you choose the programming language(s)you currently use?

    I use

    (1) .NET (c#) for just about everything, except for
    (2) C++ when I need speed
    (3) assembler when I need REAL speed.
    (4) T-SQL for databases...

    I'd really love to learn php, perl, python and a host of other languages but I find that C++ and C# keep me very occupied anyway (I've still got LINQ, WPF and WCF on my list of 'things to do').

    My brain capacity seems to be reducing with every year that goes by... along with my hair.

    Darwen.
    Last edited by darwen; July 18th, 2009 at 06:29 AM.
    www.pinvoker.com - PInvoker - the .NET PInvoke Interface Exporter for C++ Dlls.

  13. #13
    Join Date
    Jul 2007
    Location
    Illinois
    Posts
    517

    Re: why did you choose the programming language(s)you currently use?

    Oh yeah, like Darwin I use T-SQL sometimes as well when messing with SQL Server. But only rarely. I agree with Darwin, C++ and C# are pretty good languages to have on your resume. But the Windows API in C++ is... well, to put it lightly pretty **** huge. Ive spent quite awhile playing with it and I dont even think Ive touched the surface of alot of the functionality of it.
    R.I.P. 3.5" Floppy Drives
    "I know not with what weapons World War III will be fought, but World War IV will be fought with sticks and stones." - Albert Einstein

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured