Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial commit of a PegDown Scala version. #72

Open
wants to merge 1 commit into
base: wip-V2
Choose a base branch
from

Conversation

Hocdoc
Copy link

@Hocdoc Hocdoc commented Feb 8, 2013

No description provided.

@sirthias
Copy link
Owner

sirthias commented Feb 8, 2013

Great! I'll take a look as soon I find some time...

@sirthias sirthias mentioned this pull request Apr 2, 2013
@lhazlewood
Copy link

Please, for the love of god don't make PegDown Scala-based. If you do, I'll have to fork permanently...

@sirthias
Copy link
Owner

Why would a Scala-based pegdown implementation be bad for you?
Apart from being much easier to maintain for me (and add features) it would run faster (since we could get rid of the parboiled parser extension step) and and more universally deployable (since we don't need to load any classes at runtime).
The interface to the Java side would remain the same.

The only downside would be a somewhat larger artifact size, since we'd have to include the required bits from the Scala standard library (in a special "bundled" build for application that don't already pull in the Scala library itself).

@lhazlewood
Copy link

Hi sirthias,

An additional downside is you lower access to community help via pull requests: Scala has nowhere near the adoption of Java, so you'll likely reduce the amount of potential help you can get. (I personally can't stand Scala - it has always felt like an academic exercise gone awry to me - so I wouldn't spend any effort contributing to a Scala project). This is not to incite a debate or religious war, just that you're reducing the amount of 'touch' you'll get from the (much) larger Java community. This may or may not be important to you though - I don't know.

For example:

I didn't see anywhere that PegDown can support MultiMarkdown-style Metadata - which I need for a project I'm currently working on - so I was going to see if I can contribute support for it. As PegDown is currently a Java project, I'd be quite happy to contribute whatever I might create in this area. But if it were to be a Scala project, I have no desire to do so - I'd rather fork Java PegDown and just do it there.

Another way to look at this: I run a few open source projects myself. I'm much more of a Groovy and Kotlin fan and I think it'd be great to write in those languages. But I choose not to do so because I feel it is more important for my projects to have the widest appeal rather than to save myself a couple of keystrokes. But this is just a personal preference based on what I value.

I hope that helps!

Best regards, and keep up the good work!

Les

@sirthias
Copy link
Owner

Thanks, Les, for your perspective. I am well aware of the differences with regard to current user base between Java and Scala, which could indeed lead to a reduction of contributions.
However, the benefits of a move to Scala far outweigh this, for me, rather small downside. The number of contributions from the Java community has been limited so far and quite a few pegdown users actually use it from Scala already. Also, the Scala community appears to me as much more active in terms of "contributions/developer", so I'm actually looking forward to opening up pegdown to this potential.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants