|
Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks. |
Some of the points above are worth discussing more in depth.
Does a language having available libraries make it a better candidate to learn? Lack of libraries is certainly a hindrance if tackling a larger project, but it's certainly possible to learn programming concepts from language features instead of through importing libraries. I wouldn't say you learn more or less from either way, as learning to read API's and import libraries is also a great skill.
Also, MSVS does C++ as well as C#, but learning C/C++ it's very useful to go from the open source approach using gcc/make, as a ton of code you'll end up using in your projects will be open source.
|
You know, I feel kind of dumb for never really looking for this type of info. In school and at my jobs, I've always just been given a Visual Studio key and what not, I've never done open source C#/.NET/ASP development or anything like that.
Considering I'm more comfortable with Microsoft/.NET development than I am with Java (just from experience), is there anything I need to know when using it outside of the VS environment, restrictions on frameworks or anything? Or is the license literally just for the environment?
|
On January 04 2014 06:58 Requizen wrote: You know, I feel kind of dumb for never really looking for this type of info. In school and at my jobs, I've always just been given a Visual Studio key and what not, I've never done open source C#/.NET/ASP development or anything like that.
Considering I'm more comfortable with Microsoft/.NET development than I am with Java (just from experience), is there anything I need to know when using it outside of the VS environment, restrictions on frameworks or anything? Or is the license literally just for the environment? No, you are allowed to develop software with whatever license (commercial or open source) in C# or whatever language you like, even if that language is as closed as can be (Mathematica or Matlab, for example). There's even an open source implementation of the C# compiler and the .NET framework, Mono. The restrictions are only on the distribution of Visual Studio, which is commercial software (there is the free express version as well)
|
On January 04 2014 06:58 Requizen wrote: You know, I feel kind of dumb for never really looking for this type of info. In school and at my jobs, I've always just been given a Visual Studio key and what not, I've never done open source C#/.NET/ASP development or anything like that.
Considering I'm more comfortable with Microsoft/.NET development than I am with Java (just from experience), is there anything I need to know when using it outside of the VS environment, restrictions on frameworks or anything? Or is the license literally just for the environment?
I am very curious about this too.
I know very little about C#, here is what this language evokes in my mind : - Visual Sudio, .NET, Microsoft - Does not work outside Microsoft OS? - Looks a lot like Java - Seems that you can code an XBLA game pretty quickly with this language - Very bad memories of installing the .NET framework
So, can I make cross-platform applications with C#? And are the standard libraries of C# available outside of Microsoft platforms? - Windows and whatever is on the XBox and the Windows phones (100% sure it works) - Mac OS and Linux (My guess is that it should work.) - Android and iOS (unlikely)
|
On January 04 2014 07:15 klo8 wrote:Show nested quote +On January 04 2014 06:58 Requizen wrote: You know, I feel kind of dumb for never really looking for this type of info. In school and at my jobs, I've always just been given a Visual Studio key and what not, I've never done open source C#/.NET/ASP development or anything like that.
Considering I'm more comfortable with Microsoft/.NET development than I am with Java (just from experience), is there anything I need to know when using it outside of the VS environment, restrictions on frameworks or anything? Or is the license literally just for the environment? No, you are allowed to develop software with whatever license (commercial or open source) in C# or whatever language you like, even if that language is as closed as can be (Mathematica or Matlab, for example). There's even an open source implementation of the C# compiler and the .NET framework, Mono. The restrictions are only on the distribution of Visual Studio, which is commercial software (there is the free express version as well) So, buying Visual Studio is just for the IDE, and nothing else really?
Suddenly I feel very ripped off. Should have expected it from Microsoft, sure, but for some reason I always got the impression that you couldn't do .NET development and publishing elsewhere. I'm kinda dumb sometimes.
|
You were free to use the Express versions of Visual Studio. If you require one of the features which isnt available in the Express version it's highly likely that you dont write small projects. So you probably can afford it (or your employer can afford it, a reason why Microsoft gives VS away for free to a lot of students (Dreamspark)).
Also keep in mind that having the whole .NET framework at your disposal for free is quite an advantage. People here mentioned C++ with Qt. Yeah, either buy a commercial license for Qt or get GPLed. You are not forced into any license when using the many options C# offers (Window Forms, WPF, ...).
On the topic of Visual Studio: Has anyone here have experience with ReSharper? A friend of mine used it at work and he said it was quite decent (though he wouldnt want to to pay for it himself). Since my favourite Java IDE is IntelliJ, I honestly consider ReSharper for VS, but I'm not really sure about it.
|
ReSharper screws IntelliJ in the ass all day. No contest in my opinion, but the only reason I say that is because Visual Studio is miles better than Eclipse (Eclipse sucks). I believe they're both products of JetBrains, so they should have very similar feature sets on their roadmaps.
Edit: IntelliJ is an IDE? No clue then. I thought you were talking about the code-completion stuff.
That said, I think Xcode has a lot more promise than even VS, because VS is very bloated, at least when you're not using like 80% of all the buttons and menu items. Xcode has a lot of cool things built in without ReSharper, and in general feels nicer (both aesthetic-wise and Objective-C-wise).
On to the previous talk about C# vs C++ vs whatever other language. I specifically made the distinction of Visual C#, because if you're only talking about C# and C++, then there are Qt libraries for C# as well, which reduces all your arguments to preferences between C++ and C#.
The point being, Visual C# is meant to make Windows GUI development absurdly simple. You define your windows in well-defined and absolute XAML code files, or you can define your windows with their code-free interface builder, or you can ignore both and define your windows using pure code-behind. With C++ Qt, you have literally one choice, pure code-behind.
While the merits of code-behind versus interface building can be debated elsewhere, the fact is, development in Visual C# is popular because it's so easy to get a working application because of the simplicity of the interface building in C#, (XAML and Blend), and that's why it was suggested over C++.
I also asked to make a distinction between whether it was going to be distributed to clients or used just by himself, because if it were to be distributed to clients (other than the networking stuff which was addressed), you would have to reconsider Visual C#, which creates executables that can't be run in Unix environments without workarounds (in which case any language with the Qt library would be a preferable solution).
As an aside, Visual C# kills Objective-C iOS development because Xcode Nibs/Storyboards are a huge pain because they're purely parts of the Interface Builder, whereas C# XAML files are well-defined code files. This makes information from VS is much easier to digest than information from Xcode. However, the iOS (Obj-C) feels a lot more natively feature rich than Windows (C#). The upside to C# is that there are a bajillion .NET libraries you can import using Nuget which makes life so nice.
Also as an aside, none of this is in the perspective of learning. If you're purely learning, then pure code-behind with C++ and Qt will be miles more beneficial because those skills from C++ Qt will be directly transferable to many other projects. However, if you're purely developing, and if you had the choice to leverage either language to build a pure Windows application, I would choose Visual C# over C++ Qt every time.
In terms of both learning and developing, if you're interested in future Microsoft related work, or if you want an easier and more convenient time, then Visual C# is a better option, otherwise if you want a heavier workload and to expand your knowledge in an extremely broad sense, C++ with Qt would be good.
|
On January 04 2014 09:09 Blisse wrote:
I also asked to make a distinction between whether it was going to be distributed to clients or used just by himself, because if it were to be distributed to clients (other than the networking stuff which was addressed), you would have to reconsider Visual C#, which creates executables that can't be run in Unix environments without workarounds (in which case any language with the Qt library would be a preferable solution).
There are going to be two computers that are going to be accessing this. I'm not sure how programs work with multiple users signing in/using it in regards to real time updating. Atm we just have 2 excel sheets to track everything, saved in the network, 1 for each computer. In the case there's only 1 person, they just open up both sheets, fairly simple. I assume that if I can't get the program to run real time with 2 people on it I can just have them separate and 1 person sends the other their update, which is collected and then sent out to the email group(which is what we do now).
|
On January 04 2014 07:16 fezvez wrote:Show nested quote +On January 04 2014 06:58 Requizen wrote: You know, I feel kind of dumb for never really looking for this type of info. In school and at my jobs, I've always just been given a Visual Studio key and what not, I've never done open source C#/.NET/ASP development or anything like that.
Considering I'm more comfortable with Microsoft/.NET development than I am with Java (just from experience), is there anything I need to know when using it outside of the VS environment, restrictions on frameworks or anything? Or is the license literally just for the environment? I am very curious about this too. I know very little about C#, here is what this language evokes in my mind : - Visual Sudio, .NET, Microsoft - Does not work outside Microsoft OS? - Looks a lot like Java - Seems that you can code an XBLA game pretty quickly with this language - Very bad memories of installing the .NET framework So, can I make cross-platform applications with C#? And are the standard libraries of C# available outside of Microsoft platforms? - Windows and whatever is on the XBox and the Windows phones (100% sure it works) - Mac OS and Linux (My guess is that it should work.) - Android and iOS (unlikely)
C# the language is different then the runtime that your compiled C# code runs on, just like the JVM is distinct from Java the language. The C# runtime CLR is not cross platform/open source. Mono is a project to implement a cross platform open source runtime but it's not 100% compatible with the CLR.
So you can't just take a take a C# program you've written on windows that probably targets the CLR (and takes advantage of .NET libraries) and have it run cross platform, because the CLR is windows only.
But if you want to write a program for cross platform/Android & iOS, you can look into the Mono project and it's associated projects from Xamarin. I have no experience working with it though.
http://www.mono-project.com/Main_Page
|
Simple regex help
I need to match 12_*-X Where * is one or more any character So it should match 12_abcde-X 12_lksdfsjdf-X 12_2334afsdf4294-X
Unfortunately i dont know my regular expressions. Any help will be great!
|
It should be something like [12_.*-X] (and beginning and end of line tags as needed)
.* should match any number of characters with basicly no restrictions. /w* should match also, but not some special characters i think.
I would really suggest going on google and finding some regex matcher and playing around with it as that is what I end up doing every time I need them.
Also not sure if this is what you want as it would match 0 characters as a possibility.
|
A simple 12_\S+-X should do it. \S+ matches 1 or more non-whitespace characters, which is probably what you need. \w+ will match any number of alphanumeric/underscore characters, [A-Za-z0-9]+ matches just letters and numbers. .+ for anything, including whitespace.
You can also do \b12_\S+-X\b (set word boundaries at the start of 12 and the end of X) if you don't want it to match things like 4312_asdf-X or 12_fdsa-XVZ.
Put a set of parentheses around the whole sequence -- for example, (12_\S+-X) -- if you want to extract the string in particular for further processing using whatever engine you're using. 12_(\S+)-X if you only want to extract the inner bit.
Seconding the suggestion to use a regex matcher, I recommend RegExr.
|
On January 04 2014 08:28 Zocat wrote: On the topic of Visual Studio: Has anyone here have experience with ReSharper? A friend of mine used it at work and he said it was quite decent (though he wouldnt want to to pay for it himself). Since my favourite Java IDE is IntelliJ, I honestly consider ReSharper for VS, but I'm not really sure about it. I have like 4 weeks of experience with ReSharper so far (using it at work). It has some nice features, but so far I don't know about anything spectacular. I don't miss it too much at home where I don't have it available. A license is like 100$ or so? Probably wouldn't buy it for myself. Might just be that I don't know enough of its features yet though.
|
On January 04 2014 08:28 Zocat wrote: You were free to use the Express versions of Visual Studio. If you require one of the features which isnt available in the Express version it's highly likely that you dont write small projects. So you probably can afford it (or your employer can afford it, a reason why Microsoft gives VS away for free to a lot of students (Dreamspark)).
Also keep in mind that having the whole .NET framework at your disposal for free is quite an advantage. People here mentioned C++ with Qt. Yeah, either buy a commercial license for Qt or get GPLed. You are not forced into any license when using the many options C# offers (Window Forms, WPF, ...).
On the topic of Visual Studio: Has anyone here have experience with ReSharper? A friend of mine used it at work and he said it was quite decent (though he wouldnt want to to pay for it himself). Since my favourite Java IDE is IntelliJ, I honestly consider ReSharper for VS, but I'm not really sure about it. Absolutely right. To expand on "getting GPLd", it means that Qt uses the GPL for their open source version. The GPL is a copyleft license, which means that you're only allowed to use the library in your software if you're going to open source it. BSD-style licenses don't have that restriction, they allow you to put open source libraries in your closed source software.
|
On January 04 2014 17:29 spinesheath wrote:Show nested quote +On January 04 2014 08:28 Zocat wrote: On the topic of Visual Studio: Has anyone here have experience with ReSharper? A friend of mine used it at work and he said it was quite decent (though he wouldnt want to to pay for it himself). Since my favourite Java IDE is IntelliJ, I honestly consider ReSharper for VS, but I'm not really sure about it. I have like 4 weeks of experience with ReSharper so far (using it at work). It has some nice features, but so far I don't know about anything spectacular. I don't miss it too much at home where I don't have it available. A license is like 100$ or so? Probably wouldn't buy it for myself. Might just be that I don't know enough of its features yet though.
For comparison, I don't touch Visual Studio unless it has a copy of ReSharper on it. Development without RS is essentially enough of a turn-off that I won't bother. I have a bit under a year's experience.
|
On January 04 2014 09:09 Blisse wrote: ReSharper screws IntelliJ in the ass all day. No contest in my opinion, but the only reason I say that is because Visual Studio is miles better than Eclipse (Eclipse sucks). I believe they're both products of JetBrains, so they should have very similar feature sets on their roadmaps.
Edit: IntelliJ is an IDE? No clue then. I thought you were talking about the code-completion stuff.
That said, I think Xcode has a lot more promise than even VS, because VS is very bloated, at least when you're not using like 80% of all the buttons and menu items. Xcode has a lot of cool things built in without ReSharper, and in general feels nicer (both aesthetic-wise and Objective-C-wise).
On to the previous talk about C# vs C++ vs whatever other language. I specifically made the distinction of Visual C#, because if you're only talking about C# and C++, then there are Qt libraries for C# as well, which reduces all your arguments to preferences between C++ and C#.
The point being, Visual C# is meant to make Windows GUI development absurdly simple. You define your windows in well-defined and absolute XAML code files, or you can define your windows with their code-free interface builder, or you can ignore both and define your windows using pure code-behind. With C++ Qt, you have literally one choice, pure code-behind.
While the merits of code-behind versus interface building can be debated elsewhere, the fact is, development in Visual C# is popular because it's so easy to get a working application because of the simplicity of the interface building in C#, (XAML and Blend), and that's why it was suggested over C++.
I also asked to make a distinction between whether it was going to be distributed to clients or used just by himself, because if it were to be distributed to clients (other than the networking stuff which was addressed), you would have to reconsider Visual C#, which creates executables that can't be run in Unix environments without workarounds (in which case any language with the Qt library would be a preferable solution).
As an aside, Visual C# kills Objective-C iOS development because Xcode Nibs/Storyboards are a huge pain because they're purely parts of the Interface Builder, whereas C# XAML files are well-defined code files. This makes information from VS is much easier to digest than information from Xcode. However, the iOS (Obj-C) feels a lot more natively feature rich than Windows (C#). The upside to C# is that there are a bajillion .NET libraries you can import using Nuget which makes life so nice.
Also as an aside, none of this is in the perspective of learning. If you're purely learning, then pure code-behind with C++ and Qt will be miles more beneficial because those skills from C++ Qt will be directly transferable to many other projects. However, if you're purely developing, and if you had the choice to leverage either language to build a pure Windows application, I would choose Visual C# over C++ Qt every time.
In terms of both learning and developing, if you're interested in future Microsoft related work, or if you want an easier and more convenient time, then Visual C# is a better option, otherwise if you want a heavier workload and to expand your knowledge in an extremely broad sense, C++ with Qt would be good.
My first 8 or so years of programming were with IDE's but these days I just use GEdit .
Eclipse sucks but if you want to do Java in a professional environment you have to learn to use it well unfortunately.
|
On January 05 2014 08:37 sluggaslamoo wrote:Show nested quote +On January 04 2014 09:09 Blisse wrote: ReSharper screws IntelliJ in the ass all day. No contest in my opinion, but the only reason I say that is because Visual Studio is miles better than Eclipse (Eclipse sucks). I believe they're both products of JetBrains, so they should have very similar feature sets on their roadmaps.
Edit: IntelliJ is an IDE? No clue then. I thought you were talking about the code-completion stuff.
That said, I think Xcode has a lot more promise than even VS, because VS is very bloated, at least when you're not using like 80% of all the buttons and menu items. Xcode has a lot of cool things built in without ReSharper, and in general feels nicer (both aesthetic-wise and Objective-C-wise).
On to the previous talk about C# vs C++ vs whatever other language. I specifically made the distinction of Visual C#, because if you're only talking about C# and C++, then there are Qt libraries for C# as well, which reduces all your arguments to preferences between C++ and C#.
The point being, Visual C# is meant to make Windows GUI development absurdly simple. You define your windows in well-defined and absolute XAML code files, or you can define your windows with their code-free interface builder, or you can ignore both and define your windows using pure code-behind. With C++ Qt, you have literally one choice, pure code-behind.
While the merits of code-behind versus interface building can be debated elsewhere, the fact is, development in Visual C# is popular because it's so easy to get a working application because of the simplicity of the interface building in C#, (XAML and Blend), and that's why it was suggested over C++.
I also asked to make a distinction between whether it was going to be distributed to clients or used just by himself, because if it were to be distributed to clients (other than the networking stuff which was addressed), you would have to reconsider Visual C#, which creates executables that can't be run in Unix environments without workarounds (in which case any language with the Qt library would be a preferable solution).
As an aside, Visual C# kills Objective-C iOS development because Xcode Nibs/Storyboards are a huge pain because they're purely parts of the Interface Builder, whereas C# XAML files are well-defined code files. This makes information from VS is much easier to digest than information from Xcode. However, the iOS (Obj-C) feels a lot more natively feature rich than Windows (C#). The upside to C# is that there are a bajillion .NET libraries you can import using Nuget which makes life so nice.
Also as an aside, none of this is in the perspective of learning. If you're purely learning, then pure code-behind with C++ and Qt will be miles more beneficial because those skills from C++ Qt will be directly transferable to many other projects. However, if you're purely developing, and if you had the choice to leverage either language to build a pure Windows application, I would choose Visual C# over C++ Qt every time.
In terms of both learning and developing, if you're interested in future Microsoft related work, or if you want an easier and more convenient time, then Visual C# is a better option, otherwise if you want a heavier workload and to expand your knowledge in an extremely broad sense, C++ with Qt would be good. My first 8 or so years of programming were with IDE's but these days I just use GEdit  . Eclipse sucks but if you want to do Java in a professional environment you have to learn to use it well unfortunately.
Developing in non-IDEs is nice and all, but IDEs do have a clear advantage in large projects. I do most of my non-C# in VIM and I absolutely love VIM, but I'm always happy when I can use Visual Studio, just because it's an awesome IDE that actually removes a lot of the boring parts of programming instead of disrupting my thought processes with random slowdowns, laggy code completion, etc. Most other IDEs however just flat out suck. Eclipse being one of the worst offenders and a shining example of how not to do it. Slow, bloated, horrible usability and just... bad. At work I'm forced to do the PHP development in Zend Studio, which is based on Eclipse, and I always wish I could just do it in VIM in half the time.
However, as I said, good IDEs do have a clear advantage and not using one when a good one is available is a big mistake.
|
On January 05 2014 08:52 Morfildur wrote:Show nested quote +On January 05 2014 08:37 sluggaslamoo wrote:On January 04 2014 09:09 Blisse wrote: ReSharper screws IntelliJ in the ass all day. No contest in my opinion, but the only reason I say that is because Visual Studio is miles better than Eclipse (Eclipse sucks). I believe they're both products of JetBrains, so they should have very similar feature sets on their roadmaps.
Edit: IntelliJ is an IDE? No clue then. I thought you were talking about the code-completion stuff.
That said, I think Xcode has a lot more promise than even VS, because VS is very bloated, at least when you're not using like 80% of all the buttons and menu items. Xcode has a lot of cool things built in without ReSharper, and in general feels nicer (both aesthetic-wise and Objective-C-wise).
On to the previous talk about C# vs C++ vs whatever other language. I specifically made the distinction of Visual C#, because if you're only talking about C# and C++, then there are Qt libraries for C# as well, which reduces all your arguments to preferences between C++ and C#.
The point being, Visual C# is meant to make Windows GUI development absurdly simple. You define your windows in well-defined and absolute XAML code files, or you can define your windows with their code-free interface builder, or you can ignore both and define your windows using pure code-behind. With C++ Qt, you have literally one choice, pure code-behind.
While the merits of code-behind versus interface building can be debated elsewhere, the fact is, development in Visual C# is popular because it's so easy to get a working application because of the simplicity of the interface building in C#, (XAML and Blend), and that's why it was suggested over C++.
I also asked to make a distinction between whether it was going to be distributed to clients or used just by himself, because if it were to be distributed to clients (other than the networking stuff which was addressed), you would have to reconsider Visual C#, which creates executables that can't be run in Unix environments without workarounds (in which case any language with the Qt library would be a preferable solution).
As an aside, Visual C# kills Objective-C iOS development because Xcode Nibs/Storyboards are a huge pain because they're purely parts of the Interface Builder, whereas C# XAML files are well-defined code files. This makes information from VS is much easier to digest than information from Xcode. However, the iOS (Obj-C) feels a lot more natively feature rich than Windows (C#). The upside to C# is that there are a bajillion .NET libraries you can import using Nuget which makes life so nice.
Also as an aside, none of this is in the perspective of learning. If you're purely learning, then pure code-behind with C++ and Qt will be miles more beneficial because those skills from C++ Qt will be directly transferable to many other projects. However, if you're purely developing, and if you had the choice to leverage either language to build a pure Windows application, I would choose Visual C# over C++ Qt every time.
In terms of both learning and developing, if you're interested in future Microsoft related work, or if you want an easier and more convenient time, then Visual C# is a better option, otherwise if you want a heavier workload and to expand your knowledge in an extremely broad sense, C++ with Qt would be good. My first 8 or so years of programming were with IDE's but these days I just use GEdit  . Eclipse sucks but if you want to do Java in a professional environment you have to learn to use it well unfortunately. Developing in non-IDEs is nice and all, but IDEs do have a clear advantage in large projects. I do most of my non-C# in VIM and I absolutely love VIM, but I'm always happy when I can use Visual Studio, just because it's an awesome IDE that actually removes a lot of the boring parts of programming instead of disrupting my thought processes with random slowdowns, laggy code completion, etc. Most other IDEs however just flat out suck. Eclipse being one of the worst offenders and a shining example of how not to do it. Slow, bloated, horrible usability and just... bad. At work I'm forced to do the PHP development in Zend Studio, which is based on Eclipse, and I always wish I could just do it in VIM in half the time. However, as I said, good IDEs do have a clear advantage and not using one when a good one is available is a big mistake.
XMonad gives me more productivity than any IDE could IMO
|
xmonad looks very neat, noted. using pekwm atm, also very happy with it. grouped windows and easily configured hotkey chains!
|
Haters gonna hate... its weird how like 2/3 of all java developers prefer eclipse over intellij and netbeans but according to this thread its the very worst ide to ever be created. I guess all of us dumb java devs just don't know any better.
If you don't need it, don't use it...that doesn't make it suck. --------- Is anyone here successfully using the new gradle based builds for an android project? Is the move worth the investment of time?
|
|
|
|
|
|