I am a novice to programming using VBA with Microsoft. My organization has now adopted Apache Openoffice Suite as their productivity software.
I have researched several websites seeking information for programming in Oo but am overwhelmed if not confused with the programming language options.
What is the preferred language and where can I find a beginners guide to programming for Oo?
My goal is to develop user forms for a Calc application.
Your question is off-topic for this site:
Questions asking us to recommend or find a book, tool, software
library, tutorial or other off-site resource are off-topic for Stack
Overflow as they tend to attract opinionated answers and spam.
Instead, describe the problem and what has been done so far to solve
it.
However, I sympathize since I felt that way when first getting started. So let me give an overview of the three main language options:
OpenOffice Basic: This is the best choice for small simple macros, and code can be written using the IDE that is built into LibreOffice / Apache OpenOffice. Many larger projects use Basic as well. Good documentation is available for this language. Note that this is very different from VBA, so your experience with the Microsoft suite will not really help here.
Java: This is the most powerful, and allows the closest integration with the UNO API. However it can be cumbersome, because each UNO call typically requires a queryInterface call. Also it must be compiled, so care must be taken to match version and platform correctly.
Python: I find this to be a happy medium between the other two options. The language provides more structure than Basic but it avoids the extra requirements of Java. However documentation is somewhat limited, and often requires learning from Basic or Java examples.
For any of these three, user forms can be created within OpenOffice using the dialog editor.
See also https://wiki.openoffice.org/wiki/Documentation/DevGuide/Scripting/Writing_Macros.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
tl;dr: I want a high-level introduction to Rails, which covers what I need to get started with proper reference materials. I don't need basic concepts explained.
--
Ruby and rails both seem nice, but the documentation, although voluminous, seems to be all tutorials targeted at people who aren't that experienced as programmers or web developers, or be super-terse snippets on how to use various libraries for people who already know all about rails and ruby.
The material I'm seeing seems to be very task-oriented, which is alright if you want to follow it through without much understanding, and are able to memorise a bunch of things. I, by contrast, do not have a great memory, so I want something concise, which explains the concepts and conventions, and how they fit together. I don't need anything that "introduces" any programming concepts - I'm familiar with functional programming, late-binding, object-orientation. I'm familiar with web technologies (or at least, sufficiently so that I can learn about them). I can read code and api documentation, but I'd rather have something that lets me see the big picture first. I can look at the various resources about the language (or even better, I'd love to also look at documentation for ruby in the same vein as what I'm asking for in relation to rails).
The closest to thing I have seen to what I want is the ruby guides, but they are still very much written in a fragmented and task oriented style.
I'm not a fan of programming books (generally either too linear, becomes out of date more quickly than suites of docs maintained online), but if the best material is published in that form, so be it.
I don't think I'm that unusual in any of these respects - plenty of people know a huge bunch of stuff (a lot more than I do), don't need their hand held, but want to start exploring with a minimum of fuss.
Any suggestions?
You might be interested in Agile Development with Rails by Sam Ruby, Dave Thomas.
You could skip the "Building Application" part and go straight to Rails in Depth part.
I quote the introduction to this last part:
For the rest of the book, we’ll go through Rails topic by topic (which
pretty much means module by module). You have seen most of these modules
in action before. We will cover not only what each module does but also how
to extend or even replace the module and why you might want to do so.
The chapters in Part III cover all the major subsystems of Rails: Active Record,
Active Resource, Action Pack (including both Action Controller and Action
View), and Active Support. This is followed by an in-depth look at migrations.
Then we are going to delve into the interior of Rails and show how the com-
ponents are put together, how they start up, and how they can be replaced.
Having shown how the parts of Rails can be put together, we’ll complete this
book with a survey of a number of popular replacement parts, many of which
can be used outside of Rails.
But first, we need to set the scene. This chapter covers all the high-level stuff
you need to know to understand the rest: directory structures, configuration,
and environments.
I don't know if I have right to paste this but if that can make you buy this book, I'm sure the author would agree!
To become good at Rails in my opinion you should first be sure that you understand Ruby well. I would suggest browsing through (careful reading is not necessary if you're already an established programmer) some of the basic ruby books like: Why's Poignant Guide to Ruby
and Programming Ruby.
After this, you should become familiar with the Rails API's and DSL's, I would suggest beginning with reading Ruby on Rails Guides. When you understand the Rails basics the ultimate Rails reference is Ryan Bates' excellent Railscasts. If you don't like watching videos the site has an ascii mirror. Even if you don't have a specific task in mind, go watch a few of these to really understand the way problems are tackled in Rails.
Ofcourse when it comes to actually gaining skill in developing Rails skills, it is imperative that you try your hand at actually making a few Rails applications. Rails has a notoriously steep learning curve, so it's best when you have tried a few simple unimportant applications before you try to build your life's work with Rails.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
Please, share your favorite links on this language where one can learn the best of it.
And also, please describe in few words the most important features of this language differing it form others languages like Lua.
I just cannot understand why to reinvent another Lua/Python/etc. Maybe I just missed something...
But I like the idea of performance+scripting, so I have to understand it!
The best (and almost only) resource about the Squirrel language is it's official web site and forums: http://squirrel-lang.org
Compare to other well developed languages, Squirrel is still in it's early stage with a very small community, but it is very promising in certain ways among other modern scripting languages:
Inspired from Lua, with the usual concepts of tables, Lua stack etc, but with a MUCH cleaner syntax and C API.
Reference counting with supplementary garbage collector. The design of the run-time encourage the user to remove cyclic reference rather than totally rely on garbage collection (which can be slow or non-deterministic). The user can even re-compile the run-time with garbage collector disabled.
It's a language with C/C++ like syntax. It's kind of taste but it's the main reason of why I will favour Squirrel over Lua.
Build-in support of class, where in Lua you need to do some magic to simulate it.
Supporting C# like attribute, therefore you can supply meta-data to your class and properties. I use this feature to expose my script objects to .net property grid.
Undefined variables result in exceptions instead of silently creating a new null value like Lua.
Other features like lambda function, generator and co-routines are all built-in in this little but powerful scripting language which just made from ~6000 line of C++ code.
To conclude, the Squirrel language is suitable for interfacing with low level modules in a performance critical application (ie. a game engine), it absolutely can serve as a better Lua. Where as language like python is more towards a general purpose, day to day handy problem solving language.
emo framework, a free, open source game development framework for iOS and Android, is based on Squirrel. Its source code contains a few example programs/demos, as well as some library code written in Squirrel. Reading the source of them can be educational, I reckon.
I sincerely recommend having a look at emo for anybody wishing to learn the Squirrel language while having fun developing games or other apps for iOS and Android.
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 interested in building a site that has several interactive features for the users, yet want the site to be relatively light and avoid using Java or Flash. The site will start small but will hopefully be scalable. I realize developers tend to prefer a specific language and/or CMS and am wondering if you think a particular language would be best for creating a site with these features:
Short user profiles, photo upload, automatically generated thumbnails, a simple rating system, photo galleries, a blog section, ability to serve ads, user verification, polls, forms to enter contests, a taggable, searchable how-to library, a video library (using videos hosted on other sites)
I'd recommend you checkout Drupal CMS. Drupal covers almost all of your needs by means of drupal modules and/or drupal core itself.
Using drupal is easy, you don't have to be a programmer. Eventually you can hire a drupal programmer to take care of certain things that may not come with drupal or may not have any modules available. The other plus of a drupal programmer is that they are already familiar with the technology and can help you much more faster.
I would go for a python or ruby web application framework, say Django or ruby on rails, if this is going to be a single developer project it would probably make sense to leave it open on what framework to use - familiarize yourself with the frameworks and interview a wide variety of candidates.
Hire the best applicant and go for the framework of his/her choice - if he's any good, he can definitely tell why his choice is better than the other ones, not just claim that "it is" (or worse, it is the only one I'm familiar with)
wikipedia list of the frameworks
The best setup would be COBOL, with a UNIVAC on the back-end for storage and a vintage Enigma machine in between.
Or, alternatively, find the person you want to hire and let them decide. From the tone of your question, it would appear that you don't trust your technical abilities. What makes you think that you're going to get good advice from a bunch of random people on the internet?
Find a good consultant that has done work similar to what you're trying to do and let them decide on the tools. In the long run that will be the cheapest because paying someone to learn a new set of tools will be much more expensive than any other costs that might be associated wit ha particular set of software.
Any language will do the trick (although Prolog could be too tricky). Use what you know best unless you want a tradeoff for self-education in which case use the language you want to learn next.
I would recommend using Django framework which is based on Python language.
It's a tradeoff. "First with the worst" is a time-honored recipe for success. That would be PHP, huge first-place presence, cheap hosting, lots of existing frameworks, lots and lots of bad code. More sophisticated, in second place, would be Python. Yet more sophisticated, in third place, is Ruby. I'm not exactly sure where perl ranks in web development.
Note that you will tend to attract a slightly different kind of partner/developer/employee with each choice.
If it were me, I would go with Ruby plus a framework, perhaps RoR, unless one of the PHP CMS packages was really close to what I needed.
So much for opinions, here is a language and platform agnostic thing to consider: with the recent availability of cheap VPS hosting, you really can have any kind of site you want, yet you don't need to run your own machine room. It makes Java and the other JVM languages more attractive, I think.
If you want cost effective solutions then I will suggest you to go with LAMP. You will get almost all your required features in free open source scripts. Again the development of LAMP is comparatively cheap then ASP.Net.
By LAMP I mean Linux, Apache, MySQL, PHP.
The hosting expenses of LAMP are also comparatively cheap.
There is no absolute answer; You will have as many answers than users.
Do not re-invent the wheel!
First of all you will need to define your wishes - almost done.
Then choose a product regarding to the price.
Finally, find a specific employee.
For your needs, you can look at:
joomla
sharepoint
eroom
openText
blog platform
framasoft, chapter CMS
Some thoughts:
I highly recommend against Drupal. My experience is that it is entirely too bloated to be considered less than obese (let alone light).
I've heard NOTHING good about wordpress.
Joomla has a good reputation, but it also has the reputation of having a higher learning curve (I've never spent real time with it). If you're hiring someone, however, this should be irrelevant.
Personally, my favorite systems in PHP are from EllisLab Inc. -- Expression Engine and Codeigniter. Both of these are very well written and generally lay a groundwork for reliable and maintainable code.
Ruby generally has the reputation of being simple enough to build in.
I would use caution with Python, because it is in the midst of a transition between incompatible versions and that could be hell.
I'd go for ASP.NET.. it's trivial to build the things you mention with WebForms, although I would go for MVC in a larger project.. just my 2 cents..
as far as hosting expences goes Windows and Linux is nowadays pretty much the same...
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
Besides the sample applications featured in the books Beginning Groovy and Grails and The Definitive Guide to Grails, are there any applications out there written in Grails that are good examples from which to learn best practices? Such as real applications that are open-source? Thanks.
During my learning phase, I came across several good sample applications.
This sample web album app got me started on grails. It covers security, image upload / manipulation, basic crud etc.
http://www.syger.it/Tutorials/GrailsWebAlbum.html
Here's one from Glen Smith, author of the upcoming Grails in Action book. The source code to the groovy blog aggregator is located here:
http://code.google.com/p/groovyblogs/
Here's another one by Glen, a blog engine written with grails:
http://code.google.com/p/gravl/
And finally, here's the code to the grails.org site which includes wiki functionality:
http://github.com/grails/grails/tree/master/grails-samples/grails.org/
Yes. IBM has an excellent series of articles building on to a sample application at IBM's developerworks site:
Part I:
http://www.ibm.com/developerworks/java/library/j-grails01158/
The Series:
http://www.ibm.com/developerworks/views/java/libraryview.jsp?search_by=mastering+grails
If you are interested in seeing an application which is pre-built which also incorporates the Grails specific testing practices and approaches (as well as some widely practised testing methods as used within Grails), the Winelovers application outlines a fully working app and a number of different testing angles which can be applied to create confidence and increase testing coverage for your apps.
https://svn.energizedwork.com/skunkworks/grails/WineLovers/
There is also a presentation which accompanies this which goes into samples and pros and cons.
I will be following up this work with a greater number of examples and further tutorial type updates to help draw out the benefits of testing this way and this much.
I'm adding Stephane's new application to the list:
Stephane Maldini ✆ to user show
details Oct 21 Hi folks,
I'm pleased to announce the release of
a relatively big grails App called
iceScrum
(http://www.icescrum.org/demo). Code
is under a mix of Apache Licence2 ,
LGPL and AGPL for the core
views/design (
http://github.com/icescrum/iceScrum ).
What you can expect to see in this
sample (and if you want to reuse the
view taglibs behind (140 and more
tags)
Jquery widgets : Tables, Postits, Windows, Widgets, Orderable Menu Bar,
Drag And Drop, Key shortcuts .........
Real time push for jquery with ICEpush
Activity plugin ( "someone has done something")
AJAX paradigm for view (url is http://app/project/#view/action/id )
like GMAIL, history fully supported.
Application of SpringSecurity ACL, Springcache, Resources plugin and many
others
Window/Widget paradigm on controller just by adding static ui = true (use
icescrum Web Component plugins inside)
It will be released separatly when
time will come
Jasper integration
Jquery Chart integration
many many things which deserve a lot of documentation, at this time you
will have to explore yourself some
parts.
The app purpose is to offer to agile
teams a tool to share a dashboard (for
collaborative consultants etc),
reports, stories, track bugs and so.
It will have his own evolution + some
profressional services for better
integration in IT via plugins or
simply hosting.
... have you looked at weceem?
http://www.weceem.org/weceem/
A very good series that builds a sample app: http://www.ibm.com/developerworks/views/java/libraryview.jsp?search_by=mastering+grails
I second the IBM series Ray Tayek mentioned, and the energizedwork.com example j pimmel mentioned. The latter has been my reference manual for writing well-tested code and I can't live without it.
The new (Grails 2.0) GEvents app from Paolo Foletto needs to be in this list. There are step-by-step apps leading to the complete app. https://github.com/pfoletto/GEvents/wiki/GrailsWorkshop
There's a working version at http://www.grailsworkshop.com/GEvents/.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
One thing I really miss about Java is the tool support. FindBugs, Checkstyle and PMD made for a holy trinity of code quality metrics and automatic bug checking.
Is there anything that will check for simple bugs and / or style violations of Ruby code? Bonus points if I can adapt it for frameworks such as Rails so that Rails idioms are adhered to.
I've recently started looking for something like this for Ruby. What I've run across so far:
Saikuro
Roodi
Flog
These might be places to start. Unfortunately I haven't used any of the three enough yet to offer a good opinion.
Saikuro and Flog can be good for getting a basic idea of code complexity. You can also use a tool like rcov to look at your test coverage.
There is a plugin for Rails projects that combine all those metrics into a single rake task. It is called metric_fu.
Projects I've found and tested recently:
https://github.com/railsbp/rails_best_practices
Seems to work, and gives sensible warnings
https://github.com/simplabs/excellent
Works, but quite a few false positives
https://github.com/troessner/reek
I disagree with most of the warnings from this tool, but it works
http://www.cs.umd.edu/projects/PL/druby/
This requires ocaml; I haven't tried it, but it looks like it might be good
http://roodi.rubyforge.org/
does not appear to be Ruby 1.9 compatible
https://github.com/gdb/ruby-static-checker
Is broken for me, and only catches name errors, so unit tests should cover that.
https://github.com/michaeledgar/laser
Doesn't compile for me
You might want to try out RuboCop. It is a Ruby code style checker based on the Ruby Style Guide. It's maintained pretty actively and it's based on standard Ruby tooling (like the ripper library). It works well with Ruby 1.9 and 2.0 and has great Emacs integration. I hope you'll find it useful!
Dust looks like it can help you find unused and useless code, which seems like it sort-of fits what you're after.
I'm not aware of any other such tools.
This problem is vastly harder to address in ruby than it is in java - you'll note that all those java tools brand themselves as using 'static analysis' of the code.
Static analysis of ruby code often isn't possible, because there isn't anything static that you can analyze (methods often get created at runtime and so on)
At any rate, some of these things are unneeded in ruby because the language builds them in.
For example, you don't need a coding standard to enforce that your classes are all NamedLikeThis because the code won't work if they aren't.
P.S. I have to add the standard disclaimer that those kind of tools can often be a bit of a red herring. You can spend all day making your code adhere to what the tool thinks it should be, and end up with more bugs than you started with.
IMHO the best solution is to write your code fluently so you can read it more easily. No amount of static analysis is going to be as good as a human reading code which clearly states what it is meant to do. Being able to do this is where ruby is light-years ahead of many other languages. I personally would recommend you aim your efforts at learning how to write more fluently, and educating your team about such things, than spending time on static analysis.
Another nice tool, although in early stages according to the author is reek:
http://reek.rubyforge.org/
reek currently includes very naive checks for the following code smells:
Long Method
Large Class
Feature Envy
Uncommunicative Name
Long Parameter List
Utility Function
Nested Iterators
Control Couple
Duplication
List item
Personally I think it still has too much false positives, but just looking at the output in some of my code helped me rethink some decisions about code style and architecture.
Code Climate is a SaaS tool that integrates through git and automatically "grades" your code. It notifies you via various channels if there a sudden drop in quality. Nice UI as well.
I didn't see this questions when asked, but a blog post I did might help as well. In it I cover a bunch of Ruby tools and specifically cover 4 code quality tools...
Roodi
Dust
Flog
Saikuro
It might also be worth checking out Towelie and Flay
http://devver.wordpress.com/2008/10/03/ruby-tools-roundup/
Now we have combined a lot of tools into an only Ruby code quality and metrics monitoring tool called Caliper. This might fit your needs well. It tracks various quality metrics over the life of a project.
Caliper - improve your Ruby code
There is also excellent. I haven't tried it yet, but it too looks promising.