- Posts: 3456
- Thank you received: 1304
Bugs: Recent Topics Paging, Uploading Images & Preview (11 Dec 2020)
Recent Topics paging, uploading images and preview bugs require a patch which has not yet been released.
Question for Programmers/Web Deisgn?
- Space Ghost
- Topic Author
- Offline
- D10
- fastkmeans
1. I need to create software that: (a) is visually appealing, (b) access two different data bases, (c) can perform some moderately computationally intensive math, (d) can create reasonable graphic output (bar charts or what not), and (e) can also produce some type of pdf "report" to the user
2. Ideally, I would like this software to be accessed through the internet. So, someone could logon, enter some personal information, and then "viola" pdf report is delivered for them to see and download.
Now to questions:
1. Are there standard textbooks/resources that one can look at (I have programmed quite a bit in scientific computing languages -- FORTRAN and derivatives mainly, but have not done too much with GUIs)?
2. Is there an industry standard language that people do things like this in?
Any help or suggestions would be appreciated.
Please Log in or Create an account to join the conversation.
- Mr Skeletor
- Offline
- no gamer cred
- Posts: 3674
- Thank you received: 166
Basically do some research, look at the recomendations you get (you'll get several different ones) and make your choice from there.
Buy a book on it (even the 'learn blah blah in 24 hours' books are pretty good), run though the book then start your project.
If you need stuff that isn't in a bog standard book, then you are probably doing something specialised which will be beyond you and you should be paying someone to do it for you.
My biggest advice is keep it simple - both the application and the solution. Most professional stuff you see these days is built on a variety of technologies which can get very complicated fast. Tr and find only 1 or 2 that does everything you need.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
c is the hard part. Most languages that are easy to work in and have spiffy web frameworks are interpreted and pretty slow. That's not a problem for drawing web pages, it can be a big problem for crunching numbers. What does "computationally intensive" mean to you?
Goal #2 is trivial. Writing software *not* for the web is probably more difficult and tedious these days than doing it for the web from the beginning.
Questions in reverse order:
2: No. There are a few more or less obvious choices. Ruby (with Rails for a framework), Python (probably Django as a framework there), or PHP (I have no idea what the dominant framework there is right now). The framework part is really important, because it gets all the icky web stuff out of the way and lets you concentrate on your work. Out of that batch, I think I'd pick Python for your needs, but I could be wrong. Python tends to be faster than Ruby, (both have some speedup tricks outside my expertise). If possible, I'd consider trying to do any really heavy lifting outside of either, and just use them for the display part.
1: Because of #2, and because this stuff moves really fast, there usually aren't great resources available to get your feet wet. You just get to dive right in. Feel free to PM me if you want some more, or I'm sure a number of people will add on.
(there are many many other options, but I left them out for various reasons, usually the difficulty of getting started.)
Please Log in or Create an account to join the conversation.
- Notahandle
- Offline
- D10
- Posts: 2806
- Thank you received: 130
EDIT- I'm Mac, not Windows, so I can't name anything specific.
Please Log in or Create an account to join the conversation.
For the intense math, charts and PDF outputs you could try to hook into R.
www.r-project.org/
Please Log in or Create an account to join the conversation.
SG knows most of us and has some idea of our smarts and relative lunacy. The problem with wading into a tech forum like Ars Technica is that you've got a lot of people very invested in their opinion and worldview. That doesn't make for much objectivity, and it can be pretty hard to evaluate their claims without your own knowledge of the subject.
If all you're looking for is a jumping-off point, asking people you know is probably better than asking complete internet strangers.
Please Log in or Create an account to join the conversation.
- Posts: 1700
- Thank you received: 786
Please Log in or Create an account to join the conversation.
I would recommend using Java (for programming) + Hybernate (for DB) + JSP/JSF (for web publishing; stay away from applets!) + whichever library you like for PDF generation (google Java PDF for a shitload of them). With this configuration you can stay within the realm of one programming language, which makes things easier.
You can also add some JavaScript (don't be confused by the name, it has nothing to do with Java) to your website for some chrome.
But let me warn you: although Java is one of the easiest languages to learn, learning all this stuff you will need for your project will take some time. I would say at least one year, even if you know the basics of programming.
Please Log in or Create an account to join the conversation.
- Space Ghost
- Topic Author
- Offline
- D10
- fastkmeans
- Posts: 3456
- Thank you received: 1304
Skeletor -- that was my initial plan, but I wanted at least a little direction before just boldly picking something that wouldn't be productive in the long run. I am not too intimidated by some complexity, but I definitely don't want to become the best programmer of this stuff either. All about some degree of efficiency.
Uba -- no, the users don't need to manipulate charts or graphs. I just want to build a pdf that has preconstructed charts and graphs (where I define how they are constructed) and give that to the user as an end product.
Not Sure -- this sounds promising. Computationally intense to me means a couple of things. One is conducting some mathematical operations (mostly things like distance computations) on two eventually quite large databases. If you are familiar with graph theory, it is akin to getting the distances (or weights) of the links in a bipartite graph. I am fairly confident that most of the software we are talking about can do that. The more complicated venture will be estimating some paramters of statistical distributions -- this can become very intense quickly, depending on how the estimation has to be done (think like Markov Chain Monte Carlo estimation).
Jeb -- I am fairly proficient in R, so if I can find something that interfaces with R well on the front end, this might be the answer. This would have my time spent learning more about the shell of the program and the web presentation versus having to learn more about programming my own subfunctions for computation (especially for the probability distributions I mentioned above). R can be a little clunky when it comes to loops and what not, but I don't think that is goin to matter here.
MuMu -- that may indeed be a good path if I can't get the R business to work. I don't want to have to invest too much in C/C++, but am willing to do so if necessary.
wice -- I have thought of Java, but this is one of the instances where I didn't know if it could handle everything that I wanted. I definitely am realistic about the timeframe of this, hoping to have something workable in 12-18 months (it is a side project so I can't devote super-human focus to it).
Please Log in or Create an account to join the conversation.
Java's a bit faster than Python or Ruby, but still not blazing, which is why I asked about his math requirements. Sounds like using R would be ideal for his statistical work. A quick search shows an add-in to call R functions from all three, which isn't surprising. Doing Monte Carlo estimations in any of the interpreted languages isn't likely to be super-fast. Basic and even advanced math every decent language can do. But the easier they are to work in, the slower they are. That's the tradeoff.
I'd look first at using R (or S+ or whatever) for the work and something else for the presentation, especially given your background in R. It would be a lot easier to do that than to reimplement the chunks of R you need, and wasting time fixing your own bugs.
Please Log in or Create an account to join the conversation.
- Notahandle
- Offline
- D10
- Posts: 2806
- Thank you received: 130
wice wrote:
" But let me warn you: although Java is one of the easiest languages to learn, learning all this stuff you will need for your project will take some time. I would say at least one year, even if you know the basics of programming."
< cue mad hysterical laughter > That pales in comparison to the number of learning curves that I have coming up. I'm really trying hard not to think about the scope of it. One (small) step at a time...
Space Ghost wrote:
" I am fairly proficient in R, so if I can find something that interfaces with R well on the front end, this might be the answer."
Sounds like that easily has to be your first and best choice. If you (or anyone) want a couple of Ruby/SQL/PHP book suggestions at some point, I can let you know the ones I bought last year after reading various reviews. (And by 'reviews' I mean real ones, not the bullshit feedback that amazon &co call reviews.)
Please Log in or Create an account to join the conversation.