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'm starting my thesis on Agents and Smart Objects interaction and I'd like to know what's in the future for JADE, the Java Agent framework. I find the whole concept of agents, programmable behaviors, federations and their help in solving Artificial Intelligence problems very interesting but will it always be an academic field, like Haskell? What's being done with JADE?
I created a system for my PhD - using JADE as the framework - where agents played music with human musicians. There's a bit of a write up (and a link to the thesis) at http://www.mo-seph.com/academic/musicalagents
In the end, I didn't use a lot of JADE, and found it quite heavyweight for the kind of work I was doing. The communications library was useful (if a bit hard work) and the message queuing side of it worked OK. However, I quickly found that most of the behaviour I wanted to implement needed to be so heavily customised that the JADE framework only really supported the transfer of information.
I think the usefulness of the framework depends hugely on what the question is. It seems that a lot of the usefulness of JADE was around it's links to the FIPA agent communication languages (http://www.fipa.org/) and the communications infrastructure in general. If that's what you're interested in, then it might be quite useful. If you're more concerned with the intelligence in individual agents, it might be a useful framework, but it won't help much with the design of the intelligence.
Systems like JADE, Aglets etc. are "containers" as opposed to libraries.
This means that if you want to use some aspects of code mobility/mobile objects/mobile agents in your application, you basically have to design your application around these frameworks. I think this limits the applicability quite a bit.
Personally I think the ability to send mobile objects/mobile agents to remote machines is generally quite useful though. It's a very powerful idea and has applications for sure in grid computing, but also applications in areas where RPC is used right now.
So given this idea I wrote Mobility-RPC which is a way to avail of code mobility in any application, much like you would use RPC.
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 9 years ago.
I intend to create a webapp in which members of an organization will sign in, filter and search for events, and sign up to attend events. I'm just making this for one organization, but I'll most likely make it open source when I'm done.
I have my own hosting space on GoDaddy, but then I found Google's App Engine and figured it would be more efficient.
I also plan on using Twitter Bootstrap and HTML5 Boilerplate (maybe?). UI is important to me. I'll also make an iPad app with the same function that uses the same data sometime soon.
So Python or Java? What are the advantages and disadvantages for this application for each? I've learned the absolute basics of both languages but have not used either of them for the web.
I'd consider the Go Programming Language, but it doesn't look as community-supported.
TIA!
#Blender and #Barranka are right. Both languages are equally well supported on App Engine, with only very minor differences. The web client libraries you mention should integrate equally well with either, and you won't easily be able to port code to iOS in either language. (If you also plan an Android app, that might be a vote for Java, but you didn't mention that.)
So the answer is, pick the language you prefer. Both will work.
(If you don't have a preference, maybe lean toward Python, since it's higher level and supports rapid development a bit better, and Java's advantages (performance, static typing, etc.) aren't as important for what you want to build.)
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 9 years ago.
I have some questions from UI folks #java technology
I have recently switched from php to java domain. Though I have good experience in front end theming work with CMS application driven by php.
Since, know i am very new to spring framework, and have developed an understanding with jsp files for the UI aspect.
If you may recommend, assist me or give suggestions... what best design ui practices can be followed to make the design live as consistent looking organism in the enterprise level application.
right now, bootstrap is css framework of choice...and is well adopted into application.
Sharing some details, though I find it very challenging to teach the java developers, the aspect of ui design... apart from their primary task of coding, building the logic from product owner requirements and UI inputs from wireframe screen...
as they are not visually inclined to 'pixel' based aesthetics... i have found interface does not come out well at places...and do not look very polished
and since there is resource crunch of good UI/UX foks who can solve their problems and apart from coding the best interaction in the application, new features ...blah etc.
Though, have started to train them slowly, repeatedly and steadily...on teaching them on how to reuse your css code, write efficient styles and to attain the level of well aligned and well thought placed pixels on screen/viewport.
What best or any training module i can bring on, so that they become self sufficient... for e.g. have been done also
http://slid.es/gauravmishr/introduction-to-css-for-jsp-developers
Will like to know your recommendation and thoughts, so that design scalability can be achieved.
Over to java ui/ux gurus :- )
maybe you should give Asual's Summer a try. It is a presentation layer library for Spring MVC. It allows you to reference resources from jars and thus makes modularization really easy. Most importantly for me, you write simple html5 with some custom tags and el expressions instead of JSPs. It also has support for resource caching and compression. Finally, you can prepare html templates to include in your views, thus increasing core reusability. I have used it extensively with twitter bootstrap and it works great.
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.
Is it plausible(and/or practiced) to build a large piece of software, for example Altera Quartus II, using multiple programming languages? Meaning, the menus for the software are coded in c++ and maybe the core functional interface that the user interacts with most is built using java. Is this even possible? If so, what are the drawbacks/benefits of doing so with large pieces of software?
It is possible and practiced, however it is advisable that the core of your application is build in a mid-level programming language like c++ for performance, while the front end part and any utilities and interfaces to the core can be built using some other language like javascript.
Take a look at the Mozilla browser which is an example of c++ core with javascript UI.
Your question is about whether it is possible: the answer is it is. However I will try to extend a little bit by saying that your challenge in building an application with c++ and java would be the communication between the two parts of your application. You would need some kind of an intermediate like xml in order to do that.
It is possible to build applications from multiple languages, for instance, you could have your front end coded in C++, the back end written in Java and you use JNI for communication.
Although such an application allows you to exploit the features of each language, it requires developers to have expertise in multiple areas or have multiple developers, each of which can increase the cost of the solution being delivered.
Also, nowadays most compilers tend to optimize the code during compilation, so developers do not try and find micro optimizations which allows them to tweak every aspect of their code, unless they are writing something along the lines of AutoCad or Photoshop, each of which require a relatively high amount of system resources.
Another problem with solutions having multiple languages would be how to make them communicate together (sockets, shared memory segments, pipes, etc) so that would be another layer of complexity.
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.
In order to develop a web application that can easily scale, provide production stability, is easily deploy-able, and allows for fast development cycles, what points would you recommend I look at before choosing one or the other framework - using Java and Tomcat, or Django and Apache/Mod_WSGI?
Some pros and cons I could see immediately,
Tomcat apps are simple to deploy - drop a WAR file and you're done. Django apps seem to need more wrangling (Not sure if creating .egg files and dropping them in would work as well?)
Django's ORM seems much nicer than Hibernate - generates models directly compared to Hibernate's manual configuration files
Python as a language is faster to develop in, and much more concise than Java can be. (Of course, this is a relatively higher level discussion).
I've looked at Disqus's slides about scaling Django and am under no doubts it can be done. But would scaling a Django app be any harder than scaling a Java/Tomcat one?
I'm familiar with both Java and Python and the frameworks mentioned above, and it boils down to getting feedback those who've worked with either (or both) on scale.
Thanks!
Here are my experiences:
Django-Apache fits in 16MBs of memory, whereas Java-Tomcat requires much more than that.
Coding in Python is much faster, that is true. In Java, on the other hand, you have compile-time checks, profilers and debuggers that help you increase the stability of your application.
If you are planning to do heavy computations or need complex data structures, Java's compilation technologies will provide the speed you need.
It is easier to maintain a large project in a strictly object-oriented environment with advanced refactoring tools, such as Java.
Then again, coding in Python is much faster.
It's worth noting that Python code can be extended with C/C++ code. So Django applications can, in fact, be faster than their Java equivalents if one is careful to use native code where speed or complex data structures are required.
Obviously, my vote's for Django.
I choose Python with Django, because it is better in deployment. You don't need build war. You only copy files on server and that's all.
Django is easily scalable and production stable. see this.
If you prefer Java look at Grails. But it has 2 minuses: building war and a lot of memory usage(200 mb without users).
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.
Are there any good books on the subject worth reading and still up-to-date with current technologies?
I'm mostly interested in back-end architecture and things I should consider choosing clustering and database solution as I plan to use GWT for the front-end therefore won't be able to control a lot there.
I'm looking for a book which will answer questions like: How to choose load balancing strategy? What DB model to choose? How to scale data? How to scale request handling? What are common problems when building web application able to handle huge traffic?
About GWT: Google Web Toolkit Applications.
In general Even faster web sites performance and Building scalable web sites are very nice.
I have heard good words on The Art of Capicity Planning too, but i don't have it, so i cannot say from first-hand experience.
Check out O'Reilly's books. Here's one on High Performance Web Sites.
Don't know about books, but if you want information regarding real world, up to the bleeding edge, scalable web applications and architecture, then highscalability is a must read.
Perfomance Analysis for Java Web Sites by Stacey Joines et al?
My take is that Ajax doesn't fundamentally affect the overall approach to scalability. It may place even greater emphasis on the intelligent use of caching, but overall everything we knew about scalabilty remains true.