As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
We have a software which we use in-house for our day to day work.
It is like a customize CRM (sort of) and Bug Tracking software. We had a small team of 3 developers who had developed this software. Now this team is also working on other assignments.
Recently we are receiving a lot of request for adding functionality from users (who are our employees and all of them are developers working of different projects) in our firm. The original team that created this software does not have enough time to work on enhancing this software. So instead of spending a lot of time in updating as per request and the updating the executable of software for each user, we want to implement a programming/scripting solution that is if possible free and open source.
I was thinking of adding support for a language which is similar to C# to our application. This way the developers will add the features that they require on their own in their spare time if they really need a feature!
Can anyone point me to some such implementation already existing?
I don't know if I am taking the right decision or not regarding C# I would like to get opinion of experts on this also.
TIA
The framework already comes with a C# compiler you can use at execution time via CSharpCodeProvider.
You might want to look at the source code to Snippy, a small tool I wrote for C# in Depth - that compiles code on the fly, and can act as a reasonably simple introduction to CSharpCodeProvider.
I think I'd look at a scripting solution here; probably IronPython is the easiest to bundle and host, but others are available (including Javascript.NET, IronRuby, IronScheme, Boo, F#, etc)
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I need to develop an evaluation tool using C# that will run on the system for hours and then will show the overal performance of the system.
The system is supposed to run a service and we want to evaluate how this service is affecting the performance of the system. Will be great if I could use the performance counters that are available in "Windows Performance Monitor"... I'm not sure if there is any API available for developers to use them.
I was just looking for suggestions...
Thanks
If it were me, I'd use perfmon. The advantages are:
Well known data archiving model that offers multiple formats.
Existing tooling to slice and dice the data, including visualization.
Integrates with other systems if the client cares (ie lets them suck the data in to other performance tooling).
Someone else's code. :)
You can wrap perfmon and invoke it programatically if you want. Worst case just invoke it via the command line and start/stop collection that way.
Of course you can also expose your own performance counters for app specific stuff too. There are loads of APIs for this for just about every programming environment I can think of on Windows, including of course C#.
I would strongly suggest you use an existing option like automating the collection of WPM statistics.
otherwise C# may not be the best choice since hardware is almost completely abstracted away from the code by the runtime. additionally the application may require sufficient resources and time to contaminate your results. usually the performace cost between C++ and C# is neglible, but in this case could be a problem.
Good luck.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
Would it be a good choice for use within a WCF service written in C#? I'm currently using FirebirdSql, but that's giving me way too many problems. Documentation and support is also horrible.
edit: Sorry, I should have been more specific when asking the question. What I meant was whether or not SQLite is a good choice for an embedded database within C#. MS SQL is out of the question for this one.
SQLite is a great platform for any language, however there are small concerns I've had with it under .NET.
It is natively compiled. This breaks .NET's AnyCPU Implementations of .NET (i.e. you have to explicitly distribute a 32bit & 64bit version of your app, and have some hand-written rules in your .csproj (MSBUILD) file to select the different dependencies based on what you select.
It has some sticky threading issues. You're going to run into trouble if you're trying to use the same DB from multiple places (multiple instances of your app) etc. It's doable, but it basically uses a simplistic form of database/table locking to achieve this, which could be a major concern based on your program.
All In all i really like SQLite, but if I could find one that didn't require a redistributable (*cough*SQL Express*cough*), I would use another embedded DBMS for .NET Apps. To date I havent found one aside from Raven DB but that's a document DB.
Edit: Note, Raven DB Is also only free for open-source applications. It's not suitable for proprietary applications unless you're willing to shell out for a licence, so when looking into it please be sure to factor it into your budget.
SQL Express always works well
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
My background has been generally new technology demonstrators, which, well... demonstrate the latest technology and how it can be of use to a clients company. They use it for internal demos etc.
Now my career has shiffed course a bit more into actual products, in particular software which runs in locations like museums as interactive pieces.
Clearly, although the technology demonstrators had to be well coded etc, there wasn't as much emphasis as there is on my current work, which has to work, be highly configurable, probably multi-ligual and run constantly, without restarts.
So my question is, now that I'm trying to up my coding quality and write more commercial applications, are there any books which discuss issues surrounding high quality commercial software?
I currently have a copy of Code Complete 2nd Edition, which is excellent, but just wondering if there's any better, possibly more focused titles out there?
Thanks a lot!
Andy.
** UPDATE **
After a suggestion from JosephH, I'm going to mainly be working with c# and .Net (possibly silverlight!), if this helps anyone! :)
You could try Working effectively with Legacy Code.
The title is slightly misleading - although it's a very good book at showing you ways to work with Legacy code, it's also good at showing you good and bad ways to do things, why it matters, and has a focus on producing testable code. (The author's definition of "Legacy code" is any code that doesn't have automated tests.) The examples are in C, C++ or Java.
(You might want to state what language and technologies you're working with to get more focussed answers.)
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I often read that one of the best ways to continue learning how to programme is to study great opensource projects out there in the wild. Can somewhere recommend a good open source C# project that they learned a lot from. I've been coding a couple of years, both windows and web apps, pretty standard stuff, sql server, asp .net. I'm particulary interested in improving my skills in building well architectured n tier apps
Thanks,
Brendan
Microsoft's own ASP.Net MVC project is open source. It's under their own license, which is probably pretty restrictive about what you can actually do with the code. But it's a pretty large project and interesting to look at.
Have you looked at Codeplex? There are over 800 open source C# projects there.
At the general level, I've found that standard library code is often good to learn from. Reading the source to application code is certainly useful. However, reading the code to STL, or D's std.algorithm or something that is similar, teaches you how to think on a higher level, and to create generic, reusable code. In contrast, application code is often more ad-hoc and heavier on boilerplate, and therefore not as educational.
For your specific case, I'd read the code to the libraries/frameworks you're using. It's interesting in and of itself to know how these things work instead of taking them as magic, and they're written by top-tier programmers and probably much higher quality and much more dense in terms of significant programming concepts per line than most application code.
MediaPortal. Some of it is fabulous, some of it is bad. However, if there is anything you want to do, its in there somewhere.
How about the OpenJDK (the open source version of the
Java Development Kit)?
Here is OpenJDK 6
Here is OpenJDK 7 (release planned for 2010 or so)
Have a look at the NHibernate code its fantastic
their repository is here
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
Duplicate
Time bomb needed in asp.net application
I've done developing my app in C#. I need some info of how I can implement 'trial' functionality for my app (I want to let the user use the app for 30 day for example)
Take a look at these tools:
.NET Licensing Pro
SerialShield SDK
PC Guard
Maxtocode
DeployLX Licensing
There are a lot of good answer in this question
Time bomb needed in ASP.NET application
There's also the solutions from Xheo, in particular DeployLX.
A specific commercial solution I've used is from Aladdin. They offer a USB dongle or a "software dongle" that allows you to pick and choose what features are enabled/disabled. The USB dongles even come with a battery-operated clock sealed in them so that gaming the system clock doesn't get around your protection.
Some people may say that any system like this can be broken. This is true. However, I've found Aladdin tools can be used to make cracking very difficult. Pair that with improving your protection on subsequent releases and what you get is a product that takes a lot of time and effort (cost) to break.
There's a related discussion on this SO question: Software evaluation licensing.
You can also check LicenseSpot which gives you the ability to control the license via the online license manager with activation, revoking and trial extensions.