Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
Okay, sorry if I'm a bit vague or little specific. First of all, I'm really new to the business of programming and that kind of things, so excuse my non-knowledge of much of this. :)
Anyways; I've been reading a lot around on the internet on what technology to use and so forth when it comes to application development on the desktop (mainly Windows, since it's my preferred OS). And most of the answers I found said that C# was the way to go and it was the preferred language of choice for Windows (alongside with .NET of course).
Then, I read something about Adobe Air (don't remember where) but at least it interested me. And I then looked around for info about it but sadly there weren't much. But what I found was at least mainly optimistic (and then you have the I HATE FLASH-fan club).
But; since I'm new to this I started wondering about what technology was best and all that, but I just can't make up my mind. But I do understand that for applications that rely on high performance C# is better then Adobe Air.
But since I'm no power user and just want to create simple applications (like to-do lists, sudoku solvers and similar stuff) I'm not sure which one would be preferred or "the best". As far as I've seen Adobe Air have a lot of the good lookin' stuff while C# is the suited-up business stuff.
So, well, basically my question is what language/platform would you prefer for a complete beginner when it comes to simple, not really heavy performance applications? Any kind of answer would be nice. And sorry if the question is bad or something alike, I'm new to Stack Overflow as well. :)
There is no best way - use whatever interests you the most. Keeping up your motivation to learn is the most important thing at this stage.
One thing you might want to be aware of though is that there is a much larger C# community and it will be easier for your to find examples online and get help for C# here than it will be for Adobe Air.
You can create simple to-do list app using both technologies. That can be a great experience for you and give you a closer look at both technologies.
I would say go for C# since you are starting from ground zero. If you already had a bunch of web programming experience then I would say go for Air, but with C# and .Net there are lots of cool things you can do with what you learn.
I would tay start out with a simple "Hello World" WPF application. Once you do that, add a button that changes the text to "weeeeeeeeeeee!" Then add in a slider that changes the text size. Play around. Pick one small step at a time that grabs your attention, and don't give up until it works exactly how you envisioned it. Soon you will be on your way to developing your To-Do app.
Once you get the basics down, the programming world really opens up to you. You can use your C# skills to make a game in XNA. You can buy some inexpensive servo controllers and make physical stuff move around with your programming. You can port your To-Do app over to Windows Phone 7 without having to recode anything. The programming world will be your sandbox. Have fun!
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
Does anybody know to give me a comparison of advantages and disadvantages in programming through C# in Xamarin Versus Android java native code?
Is developing through Xamarin is way more limited than native android, or the gap is not that far.
I would like to hear opinion from someone who has experience in developing with both technologies.
Thanks
Update 20160822: This advice still holds true. I continually am asked about this. One company I know of went with Xamarin only to find out that it did not solve their Android problems as they had to learn both languages/implementations to solve most their issues.
Update 20150513: Thus far, this is one of the most asked questions I get from startups. Which way should they go. I inevitably end up pointing them to this post. It is still solid advice.
I've developed with both. You can pretty much do whatever you want in Xamarin. The couple of difficult areas you're going to run into are:
Finding good, working example code. Edge cases are really the bummer here.
You'll find that you end up learning Java through Xamarin because you have to read so much Java code.
Another problem is that while Xamarin is doing well and is gaining traction, the community is still rather small. This poses a problem when you release a Xamarin app. If you need to bring in someone else to maintain it, they have to know .NET, C# and Android. Finding that combo is rather difficult and I've found that all the contractors or consultants that I needed to update my app were VERY expensive.
Thats the hidden gotcha. It will help you get out the door faster, but up keep and new feature development will cost you, IF you're NOT the one doing the updates.
Why do I know this? I've written two apps with Xamarin that I eventually wanted updated. I had to contact a contractor to do it because I simply didnt have the time. It was quite expensive compared to Android or iOS devs that were already out there. I ended up moving those apps from Xamarin to Native Android and iOS.
That aside. Its a freaking awesome platform. If you plan to always work on it, then use it. Being able to use the power of C# is great. After working with C# for many years I've grown to really have a disdain for Java. Thats personal preference, but it is what it is.
Its all about tradeoffs.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I asked about this Q format on meta, and the they said that worded correctly, this should be appropriate. This being said, sorry if I still butchered the wording and just in case I'd like to get this across (as was recommended): I'm not looking for opinions on certain things or how they work, rather just the ways it's possible. I don't mean to sound ignorant and I'm truly sorry if I do, it was just suggested to me to say on Meta.
Now for the Q; What just general language at all would be capable of gathering information from public online websites, then putting it in the program where it could be further processed as just any old variable? I'm new to coding and wanted to do this as a little 'introductory' program, to teach myself some new stuff. Problem being, with my idea, I don't even know where to start. Again, I'm not asking for specific ways to do this, I was just curious what languages are capable of doing this at all? I'd prefer to do it in a Visual Studio's language (no preference of which ones), if that's possible.
In short: Are either Visual C#/C++ capable of gathering information online to be further handled within the program? If not, what languages are?
I agree with the comment that this is a complicated first programming task. However, you'll undoubtedly learn something trying it.
If you already had some experience programming in Python, I'd suggest you took a look at http://scrapy.org/doc/ which is a framework (that is, a bunch of classes and other useful tools) which let you write programs to extract information from web pages. Scrapy does let you concentrate on programming by taking care of some of the nasty details involved in parsing web pages.
Another option is to use a javascript framework, maybe something like node.js.
I've done a fair amount of web scraping, and I usually end up using a combination of utilities which clean up web pages and a variety of XSLT processors. I personally find that combination of technology to be easier to deal with; I don't try to use C-family languages until I've basically wrestled the data into shape. But everyone has their own style.
Good luck!
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
I am wondering whether there's a good tutorial that walks you through the development of a full business application that is comparable to the real ones. I have learned the basics of C#, WPF, and programming and web development in general. All the books I have read only shows the syntax and code snippets but very rare shows you the development of a full business application from planning to testing to deployment.
What is the first step when creating a business application using C#/WPF? I know I need to have a plan first. Should I use UML?
What methodologies or techniques should I consider when starting to code. I have read about Domain Driven Design but there is also MVVM patterm. Which one should I use? Should I learn both of them.
I am currently searching for a work in .NET but I really need to know how the developer's workflow in a real life software development team. I have found some books that walks you through the creation of a full software such as Wrox's Problem-Design-Solution books. Does the content of this book comparable to the workflows of a real-life software development?
Thanks a lot in advance and I hope I can find an answer as I am planning to practice my skills to be ready in a corporate environment.
Um, the platform is irrelevant at this point. If you were doing a winform or a web app, would you use UML? If so, then you would also use it in a WPF. If not, fuggedaboutit.
The first step is to careful gather business requirements.
The methodologies or techniques you should consider when starting to code will be handed down to you by the lead of the project. You sound very inexperienced, so the decision will not be up to you, most likely. Every business is different. Heck, every project is different. You may use a different methodology on each of your first 5 projects. Brush up on them, read what you can, but you will always have a learning curve to climb.
You don't need to learn every methodology or paradigm. Learn as you go. Understand the basic premises of a few, especially the standard waterfall, but don't deep dive until you get assigned to a project. Most places I have been don't follow their own methodologies anyway. It's one of those "The Sabbath was made for man, not man for the Sabbath" type things. Organizations will deviate for a slew of reasons.
This is the book I had in college. It has served me well. You car order it for $0.33. Ain't that something. http://www.amazon.com/Software-Engineering-7th-Ian-Sommerville/dp/0321210263/ref=sr_1_25?s=books&ie=UTF8&qid=1342506249&sr=1-25&keywords=software+engineering
Good luck in the field. Just dive in, and work hard. You should be fine.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
I want to write simple application with some 3D objects for Windows OS.
The application is very simple, like a gallery where we can move and see some pictures. When users go to the some picture and click on it a window will open and show picture with some information.
Which is the best framework for this task WPF, XNA, or something else? Application will be written in C#.
I can not say which is best, but I have done a while ago some things with the WPF 3D API and I liked it.
It was IMO very simple to use and the rendering seemed to be relatively fast. A really nice thing I found, was that it has an object-model that contains high-level-events such as mouse-down and click. Therefore you don't have to do much math. However, maybe provide also other APIs such high-level services, I don't know.
I would not try to create an action-game with it, but for a small app as you have described, I think it is worth a try.
Unity has been used for similar stuff. It can work on browsers (via a plug-in) or as a program, has a lot of documentation and most of the work involved in creating a 3D environment and interface is already done. Code can be written in Mono (open source C# implementation), JavaScript or a Boo, a modified Python scripting language.
It works in Windows, MacOS, iPhone, iPad and Android. And it is free in the standard version, or really cheap.
XNA is a little lower level, so it will require more work to get things started. It supports Windows, WP7 and Xbox 360.
See this discussion : WPF VS XNA
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
am a c# developer for about 2 years now...am a desktop developer and have been working with desktop apps for the past two years ...my question is should i complete in the desktop development or should i move to the web development...to be honest my knowlodge in web development is very poor ...if the answer is yes what should i study and what to start with
..
bool condition1 = IfILikeWebDevelopment ();
bool condition2 = IfWebDevelopmentCareerPromisingWhereILive ();
if (condition1 || condition2)
{
Go ();
}
It never hurts to know more about what you're doing. Sure; learn web development. Try a little php and Ruby, while you're at it.
As for how to start with ASP.Net, just dive in. Create a new ASP.Net project in Visual Studio and start making changes. There are a ton of tutorial sites out there for getting started (here for example).
Definitely it is worth to know how to build web applications!
Make yourself familiar with XHTML + CSS, so you will have good understanding what your web app have to produce
Learn from good patterns: start with ASP.NET MVC if you want to stick with C#
And you're done :)
Do at home whichever one you're not doing at work.
It won't hurt knowing something about web development actually with asp.net you almost have the same programming model as win forms so you will feel home :)
but really you should make your decision based on what helps you in your carrer
What is better for your carreer and for your pleasure is to become a better programmer... improving your programming skills and your experience.
Base your choice on the opportunity to work with more experienced programmers, on the qualify of life in the position, on the possibility of personal development.
After two years of C#, if you are willing to learn, try to learn a little bit more about OO theory. Dig into the concepts, they last longer than the languages.
Depends on the scale and the persistance model needed?
The biggest technical differentiators between the web and desktop is the underlying persistence model and your user interaction model.
With the web, you are going to need a database and stick to the web pattern (unless you want to do Ajax, in which case learn desktop).
With the desktop, you are going to learn how to make applications. However, if the application you want to make can also be done on the web, then don't bother and just use the web. Also, you have a lot more freedom on the desktop which comes as a dangerous proposition for employers these days.
I would recommend that you focus on improving on core algorithms and datastructures, and you should focus on what you enjoy doing with your strengths in mind.