Coffeehouse Thread

13 posts

Forum Read Only

This forum has been made read only by the site admins. No new threads or comments can be added.

Getting Started... Again... :( Mentor needed

Back to Forum: Coffeehouse
  • User profile image
    Ti1971

    Where do I start. I guess that's the bottom line question.

    Some maybe not so pertinent info... Started working/programming on my Commodore Vic 20 thirty years ago. In time I was heavily involved in running computer BBS's in the pre-internet days. Later, big time involved in building serious hardware, then global computer networks... I've literally worked on it all. No computer could slow me down, or stop me from repairing it. Now, after _needing_ to change occupations, I have read a good pile of programming books, VB, C#, SQL... I have made a solid decision to program in C#... and am not lacking ideas in terms of what I want to do(programs I want to design)... I just can't find myself quite getting started... Almost overwhelmed by the options I have... I almost sit here in front of my screen as if I'm starring at a stadium full of people all waiting on me to say, Hello World... but I can't find the words... I sit speechless...

    For my 'most important' project... well ,all of them really, I know I need a database... and it's coming along... slower than I'd like... But, at least it's coming along...

    Do I dabble a bit in that, and move on to drawing up menus?(in hopes that this 'side track' will keep the momentum flowing)... Should I get out my pencil and paper and draw a flowchart like we used to do in high school?

    I almost feel as though I have so much anxiety about being sucessful at this, that I can't put those two simple words together... Hello World...

     

  • User profile image
    cbae

    @Ti1971: I think Windows 8 Metro-style applications offer the best opportunity with the most level playing field for somebody who's going to take a bit of time to get going. When it comes to Windows 8 Metro apps, right now everybody is a beginner.

  • User profile image
    vesuvius

    @cbae: Not if you know .xaml, and how to construct MVVM applications, both will be used right off the bat in Win 8

  • User profile image
    evildictait​or

    The thing to do is to think about what you want your app to do for you. Usually people start writing apps because they are bored of doing something manually (like sending emails or watching where installers put files on disk or renaming lots of files as a bulk operation). If you write your app to automate something you find annoying, you'll have a solid goal that you can work towards.

    Alternatively you could go down the entertainment route and try and program yourself a twitter client or a keepy-uppy style game just to see if you can. You'll then be able to use your own program to do stuff you were previously using other people's programs to do, and you'll find that opens lots of possibilities. Could you use the twitter API to build a conversation-bot for instance? Or one which when asked a maths question posts back a reply with the answer?

    The main thing to remember is that nobody who is just starting out makes a fantastic program that sells for millions, and nobody makes a program that is perfect. Just write a few programs "just for fun" so you can start to get to grips with the various functions, types and so on that live in C#, and later in your career you'll find that the experience you got writing entirely different programs back when you started gives you many more ideas, opportunities and marketable skills.

     

    If I were you, at least to start off with, I'd avoid spending too much time reading books or drawing pictures of how your perfectly finished program will work. It's usually better (at least with individual projects) to just get stuck in. Put "throw new NotImplementedException()" at every point in the program you haven't decided what to do yet and make liberal use of stepping through in Visual Studio to help you as you go. There's really no better substitute for actually writing a program. Books and pictures can make you a better programmer, but they can't make you a programmer in the first place. To start off with, you just need to program Smiley

  • User profile image
    CaRDiaK

    @Ti1971: If your not short of ideas just start knocking thing up? Your going to run into problems but that's the best way to learn how to deal with them. 

    I think the hardest part is finding something you are actively interested in. If you have a lot of movies and music why not write something to help manage those. If you like photo's make something to play with them. 

    If you like data why not make some sort of simulator and keep stats then play with something like the google chart api.

    I understand a blank sheet can be daunting, have you tried the psuedo code programming practice? That can help if your not sure how to start out from scratch. 

    Get some little wins to inspire the greater success you seek. Most importantly have fun with it. 

    Good luck Smiley

    We can only see a short distance ahead, but we can see plenty there that needs to be done.
    Last modified
  • User profile image
    cbae

    , vesuvius wrote

    @cbae: Not if you know .xaml, and how to construct MVVM applications, both will be used right off the bat in Win 8

    Sure, but XAML can be edited using the designers which should be easy to learn to use, and a lot of the plumbing for MVVM is created for you by the project templates.

    On the other hand, if you have an elaborate application framework using something like MEF, who knows if the dependencies will even be part of the Metro .NET profile?

    Besides, I didn't say Metro apps would have a completely level playing field. I said that it represents the most level of all the playing fields because there's going to be at least *some* learning curve for everybody.

    Not only that, if you listen to all the indignation about Metro applications, it's pretty clear that many seasoned SL and WPF aren't going to embrace Metro apps right away. This means a lot of newbies could potentially get up to speed on Metro apps before the seasoned SL/WPF developers decide to dip their toes in the water, if they even decide to do so at all.

  • User profile image
    Ti1971

    My 'main project' is that of 'more or less' a text based MMPOG... I figure if I can get that aspect running, I can get into adding some fancier graphics and such.

    cbae From what I've seen of Windows 8... looks good... but runs like all hell even to have released a preview at this point. If it wasn't for my experience using the keyboard to navigate the OS, I'd be stuck hitting the power button to shut the box down. Wink Not that I wouldn't consider that type of Silverlight look... I do like that style... I am trying to stay ontop of what is current... which is another reason things seem so daughting... There are SO many resources...that alone is almost overwhelming...

    vesuvius - *zrrooom* Most of what you said, way over my head... xaml seems a little too finely detailed a data structure for me to deal with at this point... I can look at a xml page... and know what each of the lines mean on the page, what field each line would associate with in a dB... but knowing the spacing in between and all... almost seems more than what I want to 'dive into' ... Perhaps it's the limited exposure to it that I've had that is making me see that as 'not relevant' for me...

    Evildictaitor... I agree with the idea of just jumping in and starting... I've spent way more time on the basics of programming(which oddly have not changed much in 30 years - other than the visual aspect now) - which _should_ make me feel like an old pro at this... but... for some reason it doesn't ... I haven't really had much need of automating anything... Much of what I have had interest in automating I can do with keyboard macros...  think maybe the idea of starting out with a family tree may be a decent place to 'start playing' ...

    CaRDiak.... I guess when I get 'starting to knock them up' I get that feeling of standing in front of the stadium... that seems to be half the problem... I sit here alone... in front of my screen... knowing no one is watching... but it's like I get massive anxiety... Not sure what you are referring to pseudo code practice... Sounds like it may be a good place to start... Do tell... definitely sounds worth looking into...

    Thanks for the input... and any additional direction...

  • User profile image
    vesuvius

    @cbae: I have developed applications for the last 4 or 5 years (my how time flies) in WPF, and none of those applications could ever be a metro app. If I have a customer who says they want a Metro app, then I will write one, until then there is still loads of stuff that needs the traditional WPF/Winforms paradigm.

    I think life will go on, in desktop land with WPF as it will take the next version of Windows before enough of the issues are sorted out that a company would consider spending millions on developing a new application.

    I don't understand the indignation, personally, it is a very bold and audacious design change for such a major operating system, and much as I enjoy using my iPad, it is just icons on a desktop, where metro looks to be a blueprint for the future.

    If I was to move my current app to Metre, I can copy and paste the .xaml, my business and service layers remain the same, what changes may be how I use the new IO libraries, I am really am not of the opinion that I have a lot to learn, or that a newcomer would be producing applications at the same rate or pace, there is a lot of magic that goes on in .xaml, and reliance of designers is RAD, but .xaml has never been about drag and drop for all but the most basic of applications.

  • User profile image
    ryanb

    Getting started with any big project is hard. It's too overwhelming to deal with the entire project -- so don't. Break it up into chunks that you can deal with more easily. Set much smaller scoped goals that you can dive into quickly, complete reasonably fast, and start to feel some level of accomplishment as you learn. Eventually you can start to pull those pieces together into the basis of your larger project. If the smaller chunks are boring or tedious to work on, try to wrap them up into some small app or utility that makes them more interesting to help keep you going. Targeting one of the "app" platforms (like WP7, Metro, etc.) could be helpful in establishing smallish, interesting software goals while developing skills that you can transfer to your other projects later. Another thing is to set some deadlines for yourself. Working alone, with nobody checking up, it is easy to get distracted or stalled. Set up a schedule with some "delivery dates" for yourself and try to stick to them. Having a deadline helps motivate you to dive into the code and keep it moving forward. Good luck and have fun.

  • User profile image
    ryanb

    And the post editor formatting is broken AGAIN ...

  • User profile image
    Ian2

    Get your motivation sorted first - think of an idea for an App, something simple but also not without a little challenge.  I develop apps in small steps - anything complex can be broken down into lots of smaller simple steps.

    Also, never give up on what you are trying to achieve - persistence and tenacity are important traits in my opinion.

    Also look at example code - preferably something that is similar to what you are trying to achieve.  Step through the code in Visual Studio to get an idea of how it works.

    Good luck, I don't think you will need it but it never does any harm!

  • User profile image
    CaRDiaK

    @Ti1971: Here is a take on PPP.

    http://www.coderookie.com/2006/tutorial/the-pseudocode-programming-process/

    It's from McConnell's book, "Code Complete 2nd Ed" which I definitely recommend you beg, steal or borrow from somebody, you'll wish you read it years ago.

    We can only see a short distance ahead, but we can see plenty there that needs to be done.
    Last modified
  • User profile image
    Ti1971

    vesuvius... from my experience with any sized business, they aren't in any hurry to jump into a new world of 'style' ... most are so far behind that they can't keep up with the changes anyhow... for me, I think what I am aiming for will be portable enough to move into most 'design styles' when I'm ready to move there... for now, I'd be happy with getting the basics over and done in WPF... I can always fancy that up to look like any other style as times change anyhow... At least that's what I anticipate.

    ryanb... I have to agree... doing things in block and setting deadlines is going to be the only way I'm _really_ going to really get in gear. I have all but ONE friend that is a programmer... The rest get completely 'wigged' over basic computer talk... It is a bit hard to exactly work with him regularly though as he lives on the other side of the country and has a full time job. Fortunately he took great interest in working with me - at least on the SQL design portion... so that I don't have to linger in wonder over... I'm trying to think in terms of "I JUST have to" fill in the blanks on the table designer(that way it _might seem_ like a smaller task)... and let him setup do the relationships, data types etc... I figure after enough of the puzzle is complete... it will all make much more sense...

    lan2... the motivation is definitely there... this crappy LTD benefit is kicking my arse in terms of finances... Finish one tables at a time and design the menus around those tables? Does that seem like the right approach? I honestly don't know why this _seems_ so difficult to get moving forward...

    CaRDiaK ... thanks for that link. Wink

    A major light bulb just went on for me... If i were to takle this like a computer build... I would look at the order of operations in building a system properly... Can someone maybe follow me on this...I guess I think back to when I was younger and less wise...

    1. Prepare chasis(case) - install or confirm power supply, leds, buttons, install mounting screws for motherboard

    2. Install CPU into motherboard - confirm no under mbd rigging is needed for heatsink / fan

    3. Install RAM into mbd

    4. Mount motherboard into chasis

    etc etc etc...

    I can think of a few times that I've had to deal with 'new gear' installing brackets and  such onto the bottom of motherboards... realizing after the board was installed that such gear was needed for the 'latest and greatest' ...

    I guess my biggest fear is that I'm going to put the wrong 'gear' in at the wrong time... I assume you guys are following me on my 'lost logic' ...

    Thanks EVERYONE for your support... I have the distinct feeling this weekend is going to be overly productive.

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.