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.
I am having a hard time understanding what the major purpose of Google's programming language Dart is. What's its role? Why would I want to use it?
You may checkout the technical aspects on this article. Quote:
The Dart programming language is presented here in its early stages.
The following design goals will guide the continued evolution and
refinement of this open source project:
Create a structured yet flexible programming language for the web.
Make Dart feel familiar and natural to programmers and thus easy to
learn.
Ensure that all Dart language constructs allow high performance
and fast application startup.
Make Dart appropriate for the full range
of devices on the web—including phones, tablets, laptops, and servers.
Provide tools that make Dart run fast across all major modern
browsers.
These design goals address the following problems currently
facing web developers:
Small scripts often evolve into large web applications with no
apparent structure—they’re hard to debug and difficult to maintain. In
addition, these monolithic apps can’t be split up so that different
teams can work on them independently. It’s difficult to be productive
when a web application gets large.
Scripting languages are popular
because their lightweight nature makes it easy to write code quickly.
Generally, the contracts with other parts of an application are
conveyed in comments rather than in the language structure itself. As
a result, it’s difficult for someone other than the author to read and
maintain a particular piece of code.
With existing languages, the
developer is forced to make a choice between static and dynamic
languages. Traditional static languages require heavyweight toolchains
and a coding style that can feel inflexible and overly constrained.
Developers have not been able to create homogeneous systems that
encompass both client and server, except for a few cases such as
Node.js and Google Web Toolkit (GWT).
Different languages and formats
entail context switches that are cumbersome and add complexity to the
coding process.
Major purpose of dart language is replacement of JavaScript. It fixes common issues of JavaScript, it is actually compiled to JavaScript, but in the future it will have its own VM.
Main advantages over JavaScript are that it is object oriented interface inheritance based language, it has support for interface factory builders. It has simpliefed actor model called isolators.
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 have been trying to find an example some where on web on how to do translations in Tridion. I had no luck finding anything except mentioning of Translation Manager. Can someone point to a resource or best practices on how this can be done?
More details: I want to know how people send content for translations and then get it back into tridion. I saw some posts talking about event system. I am looking for a big picture start — localize — export — import — maintenance phases.
This is really the wrong place to ask this question, but I think it deserves a proper answer anyway.
SDL is (among other things) the "Global Information Management" company. Everything SDL does has a language/localization/globalization aspect to it. Including, of course, its translation tools and services.
As such, SDL has created and maintained (for many years) connectors to various CM platforms, and obviously SDL Tridion has a great integration story here. Good details about how it works here, courtesy of Robert Curlette.
If you're trying to integrate Tridion with other language vendors, I suggest you ask the language vendors for such a connector. The Tridion connector was available from SDL before the Tridion acquisition, I suspect that if other language vendors are serious about their connectivity to WCM platforms, they will also offer a connector to Tridion.
If you do not want to go with Translation Manager. I think the only solution is to localise your component in respective publication and do manual entry of publication/country specific content.
For translating your content only you can take help of any third party tools (search over Google).
even in that case also you have to do manual content entry in tridion cms.
In addition to the good comments from Ram and Nuno - You might want to investigate using the Workflow Engine from SDL Tridion. It offers the ability to write your own automated activities (e.g. Send or receive an item for translation via email or web service). This may be an effective solution for you, assuming there are no connectors available for the the translation services you intend to use.
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.
What is the most popular design pattern in web app?
I know that in asp.net mvc often used dependency injection and repository, but I want to know which additional patterns can I use in web apps. And it would be best if you give me sample of situation in which I can use patterns, or give code snippet.
Most of the design patterns we've developed as software engineers over the last few decades are still applicable for the situations they were designed for. Depending on your needs you will use most of these in web apps at some point.
http://geekswithblogs.net/subodhnpushpak/archive/2009/09/18/the-23-gang-of-four-design-patterns-.-revisited.aspx
Also below is a link to a site that shows quite a few of these patterns and has explanations / examples. They have their own product, which the site is a shop front for, but the site does have examples and contain code samples so may be worth a visit if you feel like it. most in C#
http://www.dofactory.com/Patterns/Patterns.aspx
Singleton is the most popular pattern. It is also one of best know anti-pattern (patterns that are considered to be harmful).
Every newbie uses it, because it lets you use global state, that looks like object oriented code. It also lets you avoid, that confusing dependency injection thing.
As for the "Gang of Four" book, there has been a movement by some uneducated people to remove the Singleton pattern in latest editions, but the attempts has been successfully thwarted.
Or if you have $28... C# Design Strategies with Jon Skeet
I haven't watched it but I do plan to buy it soon.
edit: IMHO the most popular design pattern in asp.net web development is the Smart UI anti-pattern ;)
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.
I am interested in learning to develop browser extensions for most major browsers (Chrome, Firefox, Safari, Opera, IE), but I am unsure of where to start. To keep my interest up, I would like to start developing for the browser which has the gentlest learning curve.
So, what is your experience developing extensions for different browsers? Naturally, one must have developed for more than one browser in order to give a reasonable answer.
I am an experienced web developer, and also have no problems with C++/Java/Ruby/Erlang, etc, so the question is not what I am capable of learning, but rather what I most quickly would reap the fruits of.
In my experience Chrome is the easiest to write extensions for. It uses only standard web technologies like HTML and JavaScript, with a compact extension API that will seem familiar to anyone with web development skills. This contrasts with Firefox which requires knowledge of a number of other more or less proprietary languages, file formats and APIs like XUL, RDF and XPCOM. This means that the learning curve to get into Firefox extension development is steeper.
On the other hand, Chrome offer limited capabilities for extensions such adding buttons to the toolbar and using script to modify the contents of a web page. Extensions are heavily sandboxed and have restricted access to resources on the local machine. If your extension requires additional capabilities then you will have to use an NPAPI or PPAPI plugin, which is much more complex. In this case, it would be easier to use Firefox which offers much broader capabilities to extensions "out of the box".
I just wanted to add some insights regarding this that I found: http://alfonsoml.blogspot.com/2011/02/creating-extensions-for-each-browser.html
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.
I read its documentation and it seems quite awesome. But I never heard of any application developed using it.
What are the main advantages and disadvantage of Vala?
(IMO)
advantages:
No garbage collector!
generated programs are written in C which should boost performance and require less resources than other scripting languages (python) or managed code (Mono).
Provide easy to use API to a huge variety of useful libraries available in Linux written mostly in C.
Provide a C#-like syntax which is very popular and by doing so attract new developers to OSS programming.
Bring (some level of) OOP syntactic sugar into the world of C but easier to use than C++.
disadvantage:
No garbage collector!
Generated program should be recompiled for each architecture.
It's a young language. Language specifications and API change constantly. Maintaining a big project might require extra attention.
Debugging is possible but a bit tricky.
No stable IDE and tools yet. Valide crashes a lot and vtg too.
Language object model is based on glib/gobject which seem to be limited. Dova is being developed to explore an alternative path but will not be compatible with gobjects.
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.
According to the computer language benchmark game, the LuaJIT implementation seems to beat every other JIT-ed dynamic language (V8, Tracemonkey, PLT Scheme, Erlang HIPE) by an order of magnitude.
I know that these benchmarks are not representative (as they say: "Which programming language implementations have the fastest benchmark programs?"), but this is still really impressive.
In practice, is it really the case? Someone have tested that Lua implementation?
There's a good discussion at Lambda the Ultimate. LuaJIT is very good.
Many people have reported impressive speedups on lua-l (the lua mailing list). The speedups are most impressive for pure Lua code; the trace compiler is not as effective when there are lots of calls to C functions in loadable library modules.
In my case (a game prototype development), I observed no performance improvement at all. I use lua for embedding, so there are lots of calls to C++ library functions. Even though main loop is in a lua script and all of the important logic is implemented in lua, the overall performance was determined by rendering engines and physics engines implemented in C++.
The original lua is already fast enough for such applications.
I made an experiment with the lesson learned here: http://www.sampalib.org/luajit2.0_tunning.html
Some data are not that valid anymore ( maxmcode=1024 is enough ), but luajit brings a robust improvement on a 600 lines of code pure Lua script (no C call to hit perfs...) that is not a large scale application nor an embedded use case but much more than the benchmarks.
The performance of JIT depends on two things: performance of original scripting language, and the performance of the compiler.
Compiler is a pretty mature technique and most JIT compiler have comparable performance. However, lua itself, i.e. lua-without-JIT, is probably one of the fastest scripting language.
lua is faster than Java-without-JIT.
lua is faster than Javascript-without-JIT.
lua is faster than most-scripting-languages-without-JIT.
so,
lua-JIT is faster than Java-with-JIT (the sun Java),
lua-JIT is faster than V8 (Javascript-with-JIT),
etc, ...